Swift-插入排序

插入排序是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據,算法適用于少量數據的排序,時間復雜度為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>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 概述:排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,744評論 0 15
  • 概述 排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部...
    蟻前閱讀 5,220評論 0 52
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 將一個記錄插入到已排序好...
    依依玖玥閱讀 1,282評論 0 2
  • 這是寫我爸的一段話。爸,我們已經相遇了19年8個月零19天了。這么多年來,不得不說,你辛苦了!回憶兒時我的和青...
    思故淵閱讀 519評論 0 2