关键词:局部有序,插入,寻找插入点
具体代码实现
public long[] insertSort(long[] a){
int in;
int out;
for(out=0;out<a.length;out++){//out就是小标,从最左边开始,待插入人员
in=out;
int temp=a[in];
while(in>0&&a[in-1]>temp){//这里是比较当前位置和当前位置的前一个,如果当前位置小于当前位置的前一个,那个当前位置前一个往后移动一位
a[in]=a[in-1];
--in;//不断往前判断,直到找到插入点,何为插入点,就是a【in-1】<temp或者in=0 这里假设a[in-1]前面都已经是有序的
}
a[in]=temp;//插入
}
}