我正在 Swift 中使用高阶函数编写快速排序,但它给出了
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)
}
错误在最后一行。
我无法告诉你为什么它不起作用(我认为它应该),但我可以告诉你如何修复它
替换这个
return quickSort(array: lesser) + [pivot] + quickSort(array: greater)
有了这个
return
quickSort(array: lesser) as [Int] +
[pivot] +
quickSort(array: greater)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)