插入排序(insertsort)的執**況,假定這個陣列的序是排好的,然後從頭往後,如果有數比當前外層元素的值大, 則將這個數的位置往後挪,
直到當前外層元素的值大於或等於它前面的位置為止.演算法在排完前k個數之後,可以保證a[1…k]是區域性有序的,保證了插入過程的正確性.
比較次數n*(n-1)/2 移動次數n*(n-1)/2 ,如果資料基本有序,用插入排序 效果很高。
class insertsort{
public void sort(int array) {
for(int i=1;i0 && temp
常見的幾種排序 氣泡排序和插入排序
氣泡排序 思想 氣泡排序的思想比較簡單,就是兩兩資料進行比較,大的往後走,每迴圈一次就確定乙個數的位置,就猶如扔石頭,越重的石頭落入海底越深,上圖中第一次迴圈8的位置就確定了,所以下一次迴圈的個數就可以減一 具體 實現 void bubblesort int arr,int len 插入排序 思想 ...
常見排序演算法 插入排序
插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。本節介紹兩種插入排序方法 直接插入排序和希爾排序。直接插入排序基本思想 1 基本思想 假設待排序的記錄存放在陣列r 1.n 中。初始時,r ...
常見排序之插入排序
希爾排序 直接插入排序就是把待排序的記錄按關鍵字的大小逐個插入到乙個已經排好序的有序序列中,直到所有記錄插入完為止。我們可以假設序列第乙個元素是已經排好序的,要插入第i i 1 個元素,可以將array i 與排好序的每個元素相比較,知道找到乙個比array i 要小的元素插入到這個元素後面。原來的...