通用快速气泡排序错误



我正在尝试在 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>)

最新更新