package sf;
/**
* 插入排序
* @author kali
将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。
即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。
*/
public class Sort01 {
public static void main(String[] args) {
int[] array={2,4,3,9,6,4,2,1,9};
Sort01 sort=new Sort01();
sort.sortArray(array);
}
void sortArray(int[] array){
for(int i=1;i<array.length;i++){
change(array ,i);
System.out.println(">>>"+i);
toString(array);
}
}
void change(int[] array ,int i){
if(i>0&&array[i]<array[i-1]){
int temp=0;
temp=array[i];
array[i]=array[i-1];
array[i-1]=temp;
i--;
change(array,i);
}
}
static void toString(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ,");
}
System.out.println(" ");
}
}
>>>1
2 ,4 ,3 ,9 ,6 ,4 ,2 ,1 ,9 ,
>>>2
2 ,3 ,4 ,9 ,6 ,4 ,2 ,1 ,9 ,
>>>3
2 ,3 ,4 ,9 ,6 ,4 ,2 ,1 ,9 ,
>>>4
2 ,3 ,4 ,6 ,9 ,4 ,2 ,1 ,9 ,
>>>5
2 ,3 ,4 ,4 ,6 ,9 ,2 ,1 ,9 ,
>>>6
2 ,2 ,3 ,4 ,4 ,6 ,9 ,1 ,9 ,
>>>7
1 ,2 ,2 ,3 ,4 ,4 ,6 ,9 ,9 ,
>>>8
1 ,2 ,2 ,3 ,4 ,4 ,6 ,9 ,9 ,