Swift 中的快速排序出现错误 [英] Quick Sort in Swift is giving error

查看:28
本文介绍了Swift 中的快速排序出现错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Swift 中的高阶函数编写快速排序,但它给出了

I am writing a Quick Sort using higher order function in Swift but it is giving

error: 'Int' is not convertible to '[Int]'
return quickSort(array: lesser) + [pivot] + quickSort(array: greater)

代码如下:

func quickSort(array: [Int]) -> [Int] {
    var array = array

    if array.isEmpty {return []}

    let pivot = array.remove(at: 0)
    let lesser = array.filter { $0 < pivot }
    let greater = array.filter { $0 >= pivot }

    return quickSort(array: lesser) + [pivot] + quickSort(array: greater)

}

错误在最后一行.

推荐答案

我不能告诉你为什么它不起作用(我认为应该),但我可以告诉你如何修复它

I can't tell you why it does not work (I think it should), but I can tell you how to fix it

替换这个

return quickSort(array: lesser) + [pivot] + quickSort(array: greater)

有了这个

return
    quickSort(array: lesser) as [Int] +
    [pivot] +
    quickSort(array: greater)

这篇关于Swift 中的快速排序出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆