1,思想:通过选取子序列最右端的数作为标记,向左比较,把比标记小的数存储在它的后边相邻位置,到头后将标记值存储在当前指针的位置。每完成一次内部循环会产生一个局部有序的子序列。
2,时间复杂度为N的平方。比冒泡和选择排序快。
3,java实现:
package aglogim;
public class InsertSorter {
public static void insertSort(int[] array) {
int len=array.length;
for(int out=1;out<len;out++){
int temp=array[out];
int n=out;
while(n>0&&array[n-1]>=temp){
array[n]=array[n-1];
n--;
}
array[n]=temp;
}
}
}