思路:将待排数组分为两部分,有序区间和无序区间
[有序区间,无序区间]
每次把无序区间中的第一个数取出来,同有序区间的元素进行比较,将其插入到有序区间里合适的位置,使得有序区间插入一个元素后依然有序。重复此操作,直至整个数组变成有序的。
例:[9,5,2,7]
public static void insertSort(long[] array){
for (int i = 0; i < array.length-1; i++) {
//有序区间:[0,i+1)
//无序区间:[i+1,array.length)
long key=array[i+1];
int j=0;
for(j=i;j>=0;j--){
if (key<array[j]){
array[j+1]=array[j];
}else {
break;
}
}
array[j+1]=key;
}
}