插入排序基本原理如下:对于给定的一组记录,初始时假设第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直至最后一个记录插入到有序序列中为止。
public class Sort {
private static void sort2(int[] a) {
for(int i = 1; i < a.length; ++i) {
int temp = a[i], j = i;
while(j >= 1 && a[j - 1] > temp) {
a[j] = a[j - 1];
--j;
}
a[j] = temp;
}
}
public static void main(String[] args) {
int[] a = {36, 27, 48, 12, 25, 65, 43, 57};
sort2(a);
print(a);
}
private static void print(int[] a) {
System.out.print("从小到大插入排序:");
for(int i : a)
System.out.print(i + " ");
System.out.println();
}
}
打印结果:
从小到大插入排序:12 25 27 36 43 48 57 65