排序演算法(Java隨筆) 插入排序 shell排序

2021-08-28 14:45:36 字數 1088 閱讀 9167

首先對陣列的前兩個資料進行從小到大的排序。

將第三個資料與排好的兩個資料比較,將第三個資料插入到合適的位置。

將第四個資料插入到已經排列好的前三個資料中。

重複以上過程,直到排序完成。

插入排序演算法例項——**實現:

//插入排序演算法

int insertsort(int data);

suanfa sf = new suanfa();

data = sf.insertsort(data);

system.out.println(arrays.tostring(data));

}//執行結果:

[1, 4, 6, 7, 8, 9]

插入排序在對n個資料進行排序的時候,無論原資料有無順序,都需要進行n-1步的中間排序,在資料已有一定順序的情況下,排序效率較好;但如果資料無規則,則需要移動大量的資料,其排序效率也不是很好;將有n個元素的陣列分為n/2個數字序列,第乙個資料和第n/2+1個資料為一對一次迴圈使每乙個序列對排好順序。然後,再次將陣列分為n/4個數字序列,再次排序。重複分組,直到數字序列n/(2*x)=1,完成排序。

shell排序演算法例項——**實現:

//shell排序演算法

int shellsort(int data);

suanfa sf = new suanfa();

data = sf.shellsort(data);

system.out.println(arrays.tostring(data));

}//執行結果:

[1, 4, 6, 7, 8, 9]

基本排序演算法 插入排序隨筆

簡介 插入排序演算法效能 插入排序在最好的情況下是o n 在最壞的情況下是o n 2 的。陣列越接近有序,插入排序所需的工作就越少。流程 插入排序 public class insertionsort extends sort if temp 1 return arr public int sort...

Java排序演算法 插入排序

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

java 插入排序演算法

從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素小於前面的元素 已排序 則依次與前面元素進行比較如果小於則交換,直到找到大於該元素的就則停止 如果該元素大於前面的元素 已排序 則重複步驟2 重複步驟2 4 直到所有元素都排好序 這是插入排序的...