0

输入:

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

输出

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

如何在不使用.sortSwift 中可用的方法的情况下做到这一点?我刚刚在编程测试中失败了,所以我想知道答案:(

4

1 回答 1

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 进行排序。冒泡排序

于 2018-09-06T07:51:45.897 回答