1. 程式人生 > >java 排序總結

java 排序總結

開發十年,就只剩下這套架構體系了! >>>   

排序準備


 /**  
    * 數字交換  
    *  
    * @param nums  
    * @param i  
    * @param j  
    */  
   public  void swapNums(T\[\] nums,int i,int j){  
        T temp = nums\[i\];  
        nums\[i\]=nums\[j\];  
        nums\[j\] = temp;  
   }

   /**  
    * 大小比較  
    *  
    */  
   public  boolean lessNums(T a ,T b){  
       return a.compareTo(b)<0;  
   }  
   

##選擇排序

###選擇出陣列中的最小元素,將它與陣列的第一個元素交換位置。再從剩下的元素中選擇出最小的元素,將它與陣列的第二個元素交換位置,不斷執行這樣的操作

 public void selectSort(T[] nums) {
        int n = nums.length;
        for (int i=0;i<n;i++){
             int min = i;
             for(int j=i+1;j<n;j++){
                 if(lessNums(nums[j] , nums[min])){
                    min = j;
                 }
             }
             swapNums(nums,i,min);