插入排序的基本思想:每趟将一个元素,按其关键字大小插入到它前面已排序的子序列中,使得插入后的子序列仍然是排序的,依此重复,知道全部元素插入完成。
代码如下:
public class InsertSort {
public static void main(String[] args) {
int[] a= {7,5,4,66,2,98,56,10};
//直接插入排序开始
for(int i=1;i<a.length;i++) {
int temp = a[i];//新遍历的值,等待插入到前面的有序数组
int j;
for(j=i-1;j>=0;j--) {
if(a[j]>temp) {
a[j+1] = a[j];
}else {
break;
}
}
a[j+1] = temp;
}
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}
public static void main(String[] args) {
int[] a= {7,5,4,66,2,98,56,10};
//直接插入排序开始
for(int i=1;i<a.length;i++) {
int temp = a[i];//新遍历的值,等待插入到前面的有序数组
int j;
for(j=i-1;j>=0;j--) {
if(a[j]>temp) {
a[j+1] = a[j];
}else {
break;
}
}
a[j+1] = temp;
}
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}
运行结果正确