八种排序的关系:
在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。 从下面
public class InsertSort {
public static void main(String[] args) {
int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
for (int i = 0; i < a.length-1; i++) {
//前面i个数据已经是有序的,需要将第(i+1)个元素插入前面的有序序列
//相当于取扑克,插入收中已经排好的牌
int j = i;
int insertNum = a[j+1];//要插入的元素
//将大于要插入的这个值的元素,集体向后移动
while (j >= 0 && a[j] > insertNum) {
a[j+1] = a[j];
j--;
}
//由于上面一个循环,退出时j再次减一,
if ((j+1) != i) {
a[j+1] = insertNum;
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
}