直接插入排序java描述
插入排序演算法是一個對少量元素進行排序的有效方法。時間複雜度O(n^2),空間複雜度比較好,為O(1)。
演算法描述:
- 第一個元素認為已經是排好的。
- 取出下一個元素,在已經排序的元素中從後向前掃描。
- 如果該元素(已排序)大於新元素,將該元素移到下一位置。
- 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置。
- 將新元素插入到下一位置中。
- 重複步驟2.
插入排序跟我們打撲克牌時,手牌的排序方式是一樣的,當我們拿到新牌時,會從手中的最後一張牌開始向前逐一與新牌比較,
如果手牌大於新牌,則位置互換,依次下去。請認真體會。
/**
*插入排序演算法實現,從小到大
* @param nums
*/
public void sort() {
for (int j = 1; j < nums.length; j++) {
int key = nums[j];
int i = j - 1;
while (i >= 0 && nums[i] > key) {
nums[i + 1] = nums[i];
nums[i] = key;
i -= 1;
}
}
}
相關文章
- 直接插入排序排序
- 直接插入排序法排序
- 演算法學習之直接插入排序(java)演算法排序Java
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- 【筆記】直接插入排序筆記排序
- 直接插入排序演算法排序演算法
- 排序演算法__直接插入排序排序演算法
- 排序演算法:直接插入排序排序演算法
- 排序演算法——直接插入排序排序演算法
- 排序演算法-直接插入排序排序演算法
- 【資料結構】直接插入排序資料結構排序
- [java]插入排序及折半插入排序Java排序
- 【No.16異常的直接插入排序】排序
- 直接從系統得到錯誤描述 (轉)
- 資料結構--排序--插入排序--python語言描述資料結構排序Python
- java氣泡排序-選擇排序-插入排序-使用API中文文件直接呼叫函式Java排序API函式
- 【排序演算法動畫解】直接插入排序排序演算法動畫
- 【資料結構】直接插入排序_哨兵位資料結構排序
- 插入排序java實現排序Java
- #排序演算法#【2】直接插入排序、希爾排序排序演算法
- 程式猿修仙之路--演算法之直接插入排序演算法排序
- 插入排序(java機試題)排序Java
- 經典演算法之直接插入排序及其優化演算法排序優化
- 筆試之排序-直接插入排序、氣泡排序、快速排序筆試排序
- java插入排序兼編碼注意Java排序
- 04資料結構排序演算法之直接插入排序資料結構排序演算法
- 希爾排序使用直接插入排序、二分插入排序的C++程式碼實現演算法排序C++演算法
- 淺解前端必須掌握的演算法(三):直接插入排序前端演算法排序
- Java常見排序演算法之插入排序Java排序演算法
- Java描述設計模式(19):模板方法模式Java設計模式
- 插入排序排序
- 題解1236:母牛生小牛 (Java描述)Java
- 題解1787:小O的數字 (Java描述)Java
- 題解1249:簡單編碼 (Java描述)Java
- CSSE2002 java專案描述CSSJava
- Java 11可以直接執行原始碼Java原始碼
- Java堆外直接記憶體回收Java記憶體
- Java實現氣泡排序和插入排序演算法Java排序演算法