Swift 中的快速排序出现错误 [英] Quick Sort in Swift is giving error
本文介绍了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屋!
查看全文