基本方法
每一次将一个待排序的元素按照排序规则插入到一个已排序的数组中,直到插完所有的元素位置。
代码
//插入排序
public static void InsertSort(int []array){
int len=array.length;
//从第二个元素开始,共需要n-1趟排序
for(int i=1;i<len;i++){
int temp=array[i];//待排序的元素
int j=i-1;//记录已排序的最后一个元素位置
while(j>=0&&temp<array[j]){
//当待排序元素比已排序元素小时,已排序元素后退一位
array[j+1]=array[j];
j--;//已排序元素向前一位
}
array[j+1]=temp;//将待排序元素插入到正确位置
}
}