選擇排序演算法的JAVA實現

來源:互聯網
上載者:User

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;

              }

       }

}

其餘的幾個類的連結分別是:

插入排序:http://blog.csdn.net/Linyco/archive/2005/10/10/498735.aspx

冒泡排序:http://blog.csdn.net/Linyco/archive/2005/10/10/498736.aspx

選擇排序:http://blog.csdn.net/Linyco/archive/2005/10/10/498742.aspx

歸併排序:http://blog.csdn.net/Linyco/archive/2005/10/10/498746.aspx

希爾排序:http://blog.csdn.net/Linyco/archive/2005/10/10/498764.aspx

快速排序:http://blog.csdn.net/Linyco/archive/2005/10/10/498759.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.