我正在尝试在 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
}
我尝试过暴力铸造它,但它似乎不起作用。有什么想法吗?谢谢!
刚刚弄清楚 - 我所要做的就是确认该类型符合可比性。
func bubblesort<T: Comparable>(inout list:Array<T>)