//冒泡排序 稳定性最高 时间复杂度高 O(n(2)) ,交换次数太多, 一次交换等于三次赋值 最简单 var count = 0 func sortInts(inout data : [Int]) { for var i = 0; i < data.count - 1; i++ { var flag = true for var j = 0; j < data.count - 1 - i; j++ { if data[j] > data[j + 1] { swap(&…
swift 版 var numbers = [17, 28, 36, 15, 39] print("排序前\(numbers)") for i in 0..<numbers.count - 1 { for j in 0..<numbers.count - 1 - i { if numbers[j] > numbers[j + 1] { numbers.swapAt(j, j+1) } } } print("排序后\(numbers)") OC版 N…
插入排序(只记录代码不作详细分析) 插入排序将输入的元素一个个插入到已排序的队列里,对比是由后往前 代码: func insertSort<Elem: Comparable>(_ arr: inout [Elem]) { for i in 1...arr.count-1 { let tmp = arr[i] for j in (0...i-1).reversed() { if (j > 0 &&…
import UIKit /// 冒泡 /// ///时O(n2),空O(1) 稳定排序 func Mysort(arr:[Int]) -> [Int]{ var transArr = arr for i in 0..<transArr.count { for j in 0..<transArr.count-i-1{ if transArr[j] > transArr[j+1]{ transArr.swapAt(j, j+1) //交换需要三条语句 } } } r…