把陣列分為有序部分與無序部分,當乙個陣列排序時,第[0]位置上為有序部分,其餘部分為無序部分,詳細見下面**。然後讓無序部分插敘有序部分,先讓有序部分最後乙個與無序部分第乙個比較,如果條件滿足(大,或者小)就交換位置,然後依次與有序部分倒數第二個繼續比較,直到不需要交換位置。這樣組成了新的有序部分與部分,然後重複前面步驟。
system.out.println("排序前:");
system.out.println(arrays.tostring(arr));
insertonsort(arr);
system.out.println("排序後:");
system.out.println(arrays.tostring(arr));
}private static void insertonsort(int arr)
//待插入值插入,因為退出迴圈,說明位置找到(yw+1)
arr[yw + 1] = value;}}
}排序前:
[9, 3, 6, 0, 1, 4, 2, 7, 5, 8]
排序後:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
常見排序演算法之插入排序
目錄 一 簡介 二 排序思路 三 演算法實現 四 原理分析 插入排序,就是假定乙個參考值,假設該參考值左邊的元素都有序,那麼從該元素開始從後往前挨個查詢,如果找到比參考值大的數,那麼就將這個大的數後移,如果未找到比參考值大的數,說明不用移動元素。迴圈比較,經過比較後移之後就會空出乙個位置,用於存放這...
常見排序演算法 插入排序
插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。本節介紹兩種插入排序方法 直接插入排序和希爾排序。直接插入排序基本思想 1 基本思想 假設待排序的記錄存放在陣列r 1.n 中。初始時,r ...
常見的排序演算法之插入排序
排序演算法是在資料結構中十分常見的操作,每種排序演算法都有不同的特點,接下來我們學習以下常用的排序演算法 插入排序。插入排序可以分為直接插入排序和希爾排序。當插入第i i 1 個元素時,前面的array 0 array 1 array i 1 已經排好序,此時用array i 的排序碼與array ...