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

标签 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 方法的情况下做到这一点?我刚刚编程测试失败,所以我想知道答案:(

最佳答案

嘿,看看这个可能对你有帮助,有不止一种可能性: 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 被排序。 冒泡排序

关于arrays - 如何在没有可用方法的情况下手动快速执行整数数组排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52199060/

相关文章:

swift 2 : Selector in UIPinchGestureRecognizer: How to access func from another class

ios - 使用布局约束动画 UIView 交换

xcode - 解除分配旧的 SKscene Swift

algorithm - 给定数组 A 和 m 个查询

html - 排序触控笔内容

c++ - 按列主顺序迭代行主存储数组

java - 寻找 BigO - 一个 while 循环嵌套两个 for 循环

javascript - 在 JavaScript 中将字符串转换为数组的数组

javascript - 使用嵌套数组访问复杂的 Json 文件

c - C 中的排序算法错误(基数排序的变体)