/**
* @author @liugang
*插入排序的思想
*从第二个元素开始,因为左侧的数组为排序后的数组,
*只要将当前元素插入到左侧数组的适当位置,就能保持数组为有序
*然后处理第三个元素...直到最后一个元素
*/
public class Insertsort {
private static int count = 0;
public static void printAll(int[] a) {
System.out.println("第" + (++count) + "次:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
public static void Sort(int[] data) {
//从第二个元素开始
for (int i = 1; i < data.length; i++) {
for (int j = i; j > 0; j--) {
if (data[j - 1] > data[j]) {
int temp = 0;
temp = data[j - 1];
data[j - 1] = data[j];
data[j] = temp;
}
}
printAll(data);
}
// printAll(data);// 打印结果
}
public static void main(String args[]) {
int[] data = new int[10];
for (int i = 0; i < data.length; i++) {
data[i] = (int) (Math.random() * 100);
}
System.out.println("排序之前:");
for (int i : data) {
System.out.print(i + " ");
}
System.out.println();
System.out.println("排序之后:");
Sort(data);
}
}