public class InsertSort { static final int SIZE=10; static void insertionSort(int[] a) //插入排序 { int i,j,t,h; for (i=1;i<a.length;i++) { t=a[i]; j=i-1; while(j>=0 && t<a[j]) { a[j+1]=a[j]; j--; } a[j+1]=t; System.out.print("第"+i+"步排序結果:"); //輸出每步排序的結果 for(h=0;h<a.length;h++) { System.out.print(" "+a[h]); //輸出 } System.out.print("\n"); } } public static void main(String[] args) { int[] shuzu=new int[SIZE]; int i; for(i=0;i<SIZE;i++) { shuzu[i]=(int)(100+Math.random()*(100+1)); //初始化數組 } System.out.print("排序前的數組為:\n"); //輸出排序前的數組 for(i=0;i<SIZE;i++) { System.out.print(shuzu[i]+" "); } System.out.print("\n"); insertionSort(shuzu); //排序操作 System.out.print("排序后的數組為:\n"); for(i=0;i<SIZE;i++) { System.out.print(shuzu[i]+" "); //輸出排序后的數組 } System.out.print("\n"); } }