選擇排序算法的JAVA實現

 

 

package Utils.Sort;

 

 

 

 

/**

 

 

 

*@author Linyco

 

 

 

*利用選擇排序法對數組排序,數組中元素必須實現了Comparable接口。

 

 

 

*/

 

 

 

public class ChooseSort implements SortStrategy

 

 

 

   /**

 

 

 

       *對數組obj中的元素以選擇排序算法進行排序

 

 

 

       */

 

 

 

       public void sort(Comparable[] obj)

 

 

 

       if (obj == null)

 

 

 

                 throw new NullPointerException("The argument can not be null!");

 

 

 

              }

 

              Comparable tmp = null;

 

 

 

 

              int index = 0;

 

 

 

 

              for (int i = 0 ;i < obj.length - 1 ;i++ )

 

 

 

                 index = i;

 

 

 

                     tmp = obj[i];

 

 

 

 

                     for (int j = i + 1 ;j < obj.length ;j++ )

 

 

 

                     //對鄰接的元素進行比較,如果後面的小,就記下它的位置

 

 

 

                            if (tmp.compareTo(obj[j]) > 0)

 

 

 

                               tmp = obj[j];   //要每次比較都記錄下當前小的這個值!

 

 

 

                                   index = j;

 

 

 

                            }

 

 

 

                     }

 

 

 

 

 

                     //將最小的元素交換到前面

 

 

 

                     tmp = obj[i];

 

 

 

                     obj[i] = obj[index];

 

 

 

                     obj[index] = tmp;

 

 

 

                     } }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章