一、基本思想
將乙個資料插入到乙個有序的資料中,從而產生乙個新的、個數加一的有序資料。
二、時間複雜度
插入排序演算法的時間複雜度是o(n^2)
三、排序過程如下
例如第一次排序:[32],21,12,34,9,18,11,35
第二次排序:[21,32],12,34,9,18,11,35
第三次排序:[12,21,32],34,9,18,11,35
第四次排序:[12,21,32,34],9,18,11,35
第五次排序:[9,12,21,32,34],18,11,35
第六次排序:[9,12,18,21,32,34],11,35
第七次排序:[9,11,12,18,21,32,34],35
第八次排序:[9,11,12,18,21,32,34,35]
四、**實現
int arr = ;
for(int i=1;iint temp = arr[i];//temp代表所要插入已經排序好的有序陣列的元素
//對已經排序好的有序陣列進行遍歷
for(int j=i-1;j>=0;j--)
}else}}
system.out.println(arrays.tostring(arr));
java 插入排序演算法
從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素小於前面的元素 已排序 則依次與前面元素進行比較如果小於則交換,直到找到大於該元素的就則停止 如果該元素大於前面的元素 已排序 則重複步驟2 重複步驟2 4 直到所有元素都排好序 這是插入排序的...
Java排序演算法 插入排序
插入排序最簡單的排序方法之一。它是時間複雜度為o n 2 空間複雜度為o 1 的一種穩定排序演算法。基本思想 插入排序有n 1趟排序組成。假設在第p個位置的元素為待插入元素,對於p 1到p n 1趟,每一趟保證從位置到位置p的元素已經處於有序狀態。一開始預設a 0 為已排序陣列中的元素,從arr 1...
Java排序演算法之 插入排序
package algorithm.sort 原理 插入排序使用的是增量方法,每次將乙個待排序的數,插入到已經排好序的陣列中,直到所有待排序的數都插入到有序陣列中為止 類似於摸牌後整理牌 author administrator public class insertsort a j 1 key 將...