插入排序的核心,是每当你排序好前面的顺序后,就不用再去改变,面对你现在要排序的数字x,我们要做的就是在它以及它前面的那么多位置中找到一个‘合适’的位置把它放进去,就这么简单。
public class InsertSort {
public static void main(String args[]) {
int a[] = new int[5];
a[0] = 9;
a[1] = 7;
a[2] = 7;
a[3] = 6;
a[4] = 5;
System.out.println("Before Sorted:");
for(int i=0;i<5;i++) {
System.out.print(a[i]+" ");
}
int i = 0;
System.out.println();
int key = 0;
for(int j=1;j<5;j++) {
key = a[j];
for( i=j-1;i>=0;i--) {
if(a[i] > key) {
a[i+1] = a[i];
}
else break;
}
a[i+1] = key;
}
System.out.println("After Sorted:");
for( i=0;i<5;i++) {
System.out.print(a[i]+" ");
}
}
}