如何在没有可用方法的情况下手动快速执行整数排序数组?

时间:2018-09-06 07:49:34

标签: arrays swift sorting

输入:

let arrayInt = [7,8,3,4,5,9,1,2,6]

输出

let newArray = [1,2,3,4,5,6,7,8,9]

如何不使用Swift中可用的.sort方法来做到这一点?我只是在编程测试中失败,所以我想知道答案:(

1 个答案:

答案 0 :(得分:1)

嘿,看这可能对您有帮助,那么可能有1种以上的可能性: https://www.cs.cmu.edu/~adamchik/15-121/lectures/Sorting%20Algorithms/sorting.html

有一个例子: https://gist.github.com/tmdvs/d8edeb9bf26f2f5c3e50

编辑:这里有一个示例:

var unsortedArray = [7,8,3,4,5,9,1,2,6]



for i in stride(from: unsortedArray.count-1, to: 0, by: -1) {
    for j in 1...i {
        if unsortedArray[j-1] > unsortedArray[j] {
            let tmp = unsortedArray[j-1]
            unsortedArray[j-1] = unsortedArray[j]
            unsortedArray[j] = tmp
        }
    }
}

之后,对unsortedArray进行排序。 气泡排序