java常用排序演算法之插入排序

2021-07-23 14:29:45 字數 1019 閱讀 6333

直接插入排序法的思想是,把待排序的元素分成兩部分,一部分是沒排好序的元素,另一部分是排好序的元素。把沒排好序的元素,逐一的插入已排好序的部分。

下面是使用直接插入排序法實現公升序排序的步驟:

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

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

3 若已排序元素大於新元素,則將該元素移到下一位,

4 重複上一步驟,直到找到已排序元素小於或等於新元素位置,

5 將新元素插入下一位置,

6 重複2的步驟。

例使用直接插入法,對一組資料 23,45,16,7,42按照由小到大順序排列並輸出結果。

排序過程如圖

初始關鍵字          45        16         7          42

第一步            【23          45】      16        7         42

第二步            【16          23           45】  7         42

第三步            【7            16            23      45】   42

第四步           【7              16           23       42        45】

**如下

//  待排序陣列

int [ ] data=;

for(int i=1, iint currentdata=data[i];

int temp=i;

while(temp>0&&data[temp-1]>currentdata){

data[temp]=data[temp-1];

//   迴圈條件

temp---;

//  temp已經自減乙個了

data[temp]=currentdata;

for(int  x: data){

system.out.println(x);

Java排序演算法之 插入排序

package algorithm.sort 原理 插入排序使用的是增量方法,每次將乙個待排序的數,插入到已經排好序的陣列中,直到所有待排序的數都插入到有序陣列中為止 類似於摸牌後整理牌 author administrator public class insertsort a j 1 key 將...

Java排序演算法 插入排序

插入排序最簡單的排序方法之一。它是時間複雜度為o n 2 空間複雜度為o 1 的一種穩定排序演算法。基本思想 插入排序有n 1趟排序組成。假設在第p個位置的元素為待插入元素,對於p 1到p n 1趟,每一趟保證從位置到位置p的元素已經處於有序狀態。一開始預設a 0 為已排序陣列中的元素,從arr 1...

Java排序之插入排序

插入排序 將乙個資料插入到已經排好序的序列中去,插入後保證序列依然有序,這個過程就是插入排序。現在給定乙個未知是否排好序的陣列,要將其進行從小到大排序。如果使用插入排序,必須先將該資料分為兩部分,一部分是排好序的,一部分是未排序的,並且逐一將未排序的部分插入到已排序的部分中去。演算法步驟描述 1 選...