插入排序和希爾排序

2021-08-14 15:58:49 字數 681 閱讀 9158

/**

*@author

shenqi

*@date

2018/1/15.

*//**

* 插入排序

* 每步將乙個待排序的記錄,按其順序碼大小插入到前面已經排序的字序列的合適位置(從後向前找到合適位置後),直到全部插入排序完為止。

* 從第乙個元素開始,該元素可以認為已經被排序

* 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

* 如果該元素(已排序)大於新元素,將該元素移到下一位置

*/public static void

insertsort(int numbers)

numbers[j] = temp;}}

/*** 希爾排序

* 先將整個待排序的記錄序列分割成為若干子串行分別進行直接插入排序,待整個序列中的記錄「基本有序」時,再對全體記錄進行依次直接插入排序

* 首先將陣列進行分組,然後將較大值移到前面,較小值移到後面,最後將整個陣列進行插入排序

* 這樣比起一開始就用插入排序減少了資料交換和移動的次數,可以說希爾排序是加強版的插入排序**/

public static void

shellsort(int data)else }}

}}

插入排序和希爾排序

插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,插入排序的基本思想是 每步將乙個待排序的紀錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。public static void sortins...

插入排序和希爾排序

1.首先,排序按類來分有插入排序 選擇排序 交換排序和歸併排序,而插入排序又分為直接插入排序和希爾 shell 排序 選擇排序類又分為選擇排序和堆排序,交換排序分為氣泡排序和快速排序,今天主要分享插入排序和希爾排序。2.插入排序概念 插入排序 對乙個陣列中的數,比較大小,假設它是公升序排列,認為它的...

插入排序和希爾排序

思想 插入排序的思想是將乙個無需的數列中的資料挨個插入到乙個已經有序的數列中,使得插入後原本有序的數列依然有序,最終完成整個數列的排序。在實際的排序過程中,已經有序的數列 指的是數列中被拍好序的部分。考慮對下圖的陣列進行插入排序 首先考慮6這個元素,因為第乙個元素8只有它自己,是已經排好序的。考慮6...