package sort.com;
import java.util.*;
public class InsertSort {
/**
* 程序入口方法
*
*/
public static void main(String[] args) {
//Arrays.sort(a);数组自动排序
//用数组机制来保存将要进行排序的数组
int []a={1,-7,2,9,5,18,12,-23,0};
//对于N个元素进行直接插入排序,需要进行N-1次插入
for(int i=1;i<a.length;i++){
//将待排序的数据进行存储
int temp=a[i];
int j=i-1; //j=i-1的意思是用j来作为已经有顺序的数据元素中的最后一个数字的索引
//开始判断是否要进行移位操作
if(temp<a[j]){
for( ; j >= 0 && temp<a[j] ; j-- ){
//整体向后位移一位
a[j+1]=a[j];
}
}
//进行数据插入
a[j+1]=temp;
for(int v:a){System.out.print(v+",");}
System.out.println("\n");
}
//遍历数组元素
for(int s:a){System.out.print(s+",");}
/*System.out.println("\n");
for (int i=0;i<=6;i++){System.out.print(a[i]+",");}
System.out.println("\n");
System.out.println(Arrays.toString(a));//调用方法输出数组*/
}
}