1. package methodOfSort;  
  2. import java.util.Scanner;  
  3.  
  4.  
  5. public class Insert {  
  6.  
  7.     /*  
  8.      * 插入排序!  
  9.      */ 
  10.     public static void main(String[] args) {  
  11.         // TODO Auto-generated method stub  
  12.         Scanner input=new Scanner(System.in);  
  13.         System.out.print("请输入数组长度?");  
  14.         int length=input.nextInt();  
  15.         int a[]=new int[length];  
  16.         for(int i=0;i<a.length;i++){  
  17.             System.out.print("请输入第"+ (i+1) +"个数的大小");  
  18.             a[i]=input.nextInt();  
  19.         }  
  20.           
  21.          //*   数组初始排列顺序!    
  22.       
  23.  
  24.         System.out.println("数组初始排列顺序!");  
  25.         for(int i=0;i<a.length;i++){  
  26.             System.out.print(a[i]+"  ");  
  27.         }  
  28.           
  29.         /*  
  30.          * 插入排序!  
  31.          *   
  32.          * 插入法比较复杂,从第二个元素开始,在前面的牌中寻找相应的位置插入,  
  33.          * 然后继续下一张,当最后一个元素插入相应位置时,排序结束!  
  34.          */  
  35.         int temp;  
  36.  
  37.         //从第二个数开始,与其前面的元素比较!  
  38.         for (int i = 1; i < a.length; i++)  
  39.         {  
  40.             for (int j = 0; j < i; j++)  
  41.             {  
  42.                 /*循环遍历a[i]之前的元素,与a[i]比较,  
  43.                   当a[i]<=a[j]时,a[i]肯定大于a[j-1](如果存在a[i-1]的话)  
  44.                  */ 
  45.                 if (a[i]<=a[j])  
  46.                 {  
  47.                     //a[i]占据a[j]的位置! 从j+1到i,元素依次由它前面的元素替代  
  48.                     temp=a[i];  
  49.                     for (int k = i; k >j; k--)  
  50.                     {  
  51.                         a[k]=a[k-1];  
  52.                     }  
  53.                     a[j] = temp;  
  54.                 }  
  55.  
  56.             }  
  57.         }  
  58.         //数组插入排序后顺序!  
  59.         System.out.println("\n插入后排序!");  
  60.         for(int i=0;i<a.length;i++){  
  61.             System.out.print(a[i]+"  ");  
  62.         }  
  63.     }  
  64.  
  65. }