直接插入排序
(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排
好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数
也是排好顺序的。如此反复循环,直到全部排好顺序。
(2)用java实现
public class insertSort{
public insertSort(){
int a[] = {49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23}
};
int len=a.length;//单独把数组长度拿出来,提高效率
int temp=0;
for(int i=1; i<len;i++){//因为第一次不用,所以从1开始
int j = i-1;//序列元素个数
temp=a[i];
while(j>=0&&temp<a[j]){
a[j+1]=a[j];//元素向后移动
j--;
//将大于temp的值整体后移一个单位
}
a[j+1]=temp;//找到位置,插入当前元素
}
for(int i=0;i<len;i++){
System.out.println(a[i]);
}
}