java底功不强,看了书 ,查了网上的资料自己才写了个插入排序。
package  com.yangtao.file;

public   class  InsertSort {

    
/**
     * 
@param  args
     
*/
    
public   static   void  main(String[] args) {
        InsertSort insertSort 
=   new  InsertSort();
        
int [] a  =   new   int []{ 5 , 2 , 7 , 1 , 6 , 9 };
        
int [] b  =  insertSort.sort(a);
        
for ( int  i  =   0 ; i  <  b.length; i ++ ){
            System.out.println(b[i]);
        }
    }
    
    
/**
     * 
@param  n 将要排序的数组
     * 
@return  排好序后的数组
     
*/
    
public   int [] sort( int [] n){
        
// 从数组下标为1的数组开始。
         for ( int  j  =   1 ; j  <  n.length; j ++ ){
            
// 取到第J个元素的值。
             int  key  =  n[j];
            
int  i  =  j  -   1 ; // 用i表示排序前的一个下标
            
// 如果前面还有数据 而且前面一个数大于后面一个数,我们交换位置。
             while (i  >=   0   &&  n[i]  >  key){
                n[i 
+   1 =  n[i];
                i
-- ;
            }
            n[i 
+   1 =  key;
        }
        
return  n;
    }

}