package com.arithmetic.sort;
public class InsertSort {
public static void main(String[] args) {
/**
*
* 从第一个元素开始,该元素可以认为已经被排序
* 取出下一个元素,在已经排序的元素序列中从后向前扫描
* 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复步骤3,
* 直到找到已排序的元素小于或者等于新元素的位置
* 将新元素插入到该位置中
* 重复步骤2~5
*/
int [] arrays = new int[]{7,15,6,99,13,12,12,56,100,67};
//设置循环次数,因已假设第1个数已经被排序,所以从第1个数开始
for(int x = 1; x < arrays.length; x++){
//利用倒叙的方式,让y=x,y--,每次循环都会依次从后向前比较直到y=0
for(int y = x; y > 0; y--){
if(arrays[y] < arrays[y-1]){
int tmp = arrays[y-1];
arrays[y-1] = arrays[y];
arrays[y] = tmp;
}
}
System.out.println("第"+x+"次比较");
for(int i = 0; i<arrays.length;i++){
System.out.print(arrays[i]+" ");
}
System.out.println();
}
}
}