通用Swift Bubblesort错误

时间:2014-11-19 21:00:33

标签: algorithm swift bubble-sort

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

我尝试过蛮力铸造,但它似乎没有用。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

想出来 - 我所要做的只是确认类型符合Comparable。

func bubblesort<T: Comparable>(inout list:Array<T>)