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 ,