插入排序是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2),比较稳定的排序算法,实现起来也很简单.
核心代码:
<pre><code>` func sort(arr:inout [Int]) {
let count:Int = arr.count
for i in 1..<count { //注意起始位置
for j in (1...i).reversed() {
if arr[j] < arr[j-1] {
swap(&arr[j], &arr[j-1])
}
}
}
}
`</code></pre>
测试代码:
<pre><code>var arr:[Int] = [9,7,6,5,1,2,0] let inserSort:InsertionSort = InsertionSort() inserSort.sort(arr: &arr) print("FlyElephant-插入排序---\(arr)")
</code></pre>