選擇排序,插入排序以及希爾排序

2021-09-24 17:27:47 字數 587 閱讀 7779

首先,找到陣列中最小的那個元素;

將它與陣列中的第乙個元素交換位置;

在剩下的陣列中找到最小的元素,和陣列的第二個元素交換位置,如此迴圈往復;

public class selection

exch(a, i, min);}}

}// 陣列兩個元素比較

private static boolean less(comparable v, comparable w)

// 交換陣列的兩個元素

private static void exch(comparable a, int i, int j)

// 測試陣列是否有序

public static boolean issorted(comparable a)

}return true;

}}

public class insertion}}

}

public class shell()

while(h >= 1)

}h = h/3;}}

}

插入排序 選擇排序 氣泡排序 希爾排序

引入概念 排序穩定性 輸入資料的順序,排序後不能改變。例如,1,2,3,3,5.排序完若第乙個3和第二個3互換,則為不穩定。1.插入排序 穩定 解釋 像打撲克時整理牌時一樣,遇到小牌就插在前面比他大的前面,而後面的牌順次後移 直到處理完最後一張牌。優點 比氣泡排序只能處理相鄰資料更為靈活,適用於資料...

氣泡排序,插入排序,選擇排序,希爾排序

在另外的文章中介紹了快速,堆,歸併排序,這三個排序都是高效的排序,下面介紹一些時間複雜度為o n 2 的排序。氣泡排序,顧名思義,就是將小的元素往上冒,大的元素往下沉,實際在變成的時候用的是大的元素往下沉的方法。每一趟過後,都有乙個最大的元素被沉到底。下一次排序時陣列規模減少了1。主要應用到了相鄰兩...

插入排序 希爾插入排序

本文借鑑於lsgo實驗室創始人馬老師 演算法 希爾插入排序 delta len nums 2 while delta 0 shell delta,nums delta delta 2return nums defshell delta,key for i in range delta,len key...