我正在尝试在Swift中实现一个Bubblesort版本,但每当我尝试运行它时,我都会遇到以下错误:
'T'无法转换为'UInt8'
if(list [i]> list [i + 1]){
有谁知道怎么了?我在下面附上了我的代码:
func valueSwap<T>(inout value1: T, inout value2: T) {
let oldValue1 = value1
value1 = value2
value2 = oldValue1
}
func bubblesort<T>(inout list:Array<T>) {
var swapped:Bool
do {
swapped = false
for i in 0...list.count - 2 {
if (list[i] > list[i+1]) {
valueSwap(&list[i], &list[i+1])
swapped = true
}
}
} while swapped
}
我尝试过蛮力铸造,但它似乎没有用。有任何想法吗?谢谢!
答案 0 :(得分:0)
想出来 - 我所要做的只是确认类型符合Comparable。
func bubblesort<T: Comparable>(inout list:Array<T>)