【Java SE】如何用Java實現直接選擇排序

來源:互聯網
上載者:User

標籤:new   演算法實現   調用   之間   冒泡排序   學習   交換   演算法   auto   

摘要:直接選擇排序屬於選擇排序的一種,但是它的排序演算法比冒泡排序的速度要快一些,由於它的演算法比較簡單,所以也比較適合初學者學習掌握。

  1. 適宜人群:有一定Java SE基礎,明白Java的資料類型,數組的定義、初始化以及常用數組的方法,還有Java的迴圈操作。

  2. 前期準備:最好有一個開發工具比如說:eclipse或者myeclipse都可以,當然你使用DOS系統進行編譯運行都可以,只不過改bug會麻煩一點。

  3. 排序原理:直接選擇排序的原理是將指定排序位置與其他數組元分別對比,如果滿足條件就交換位置的值,注意這裡區別冒泡排序,不是交換相鄰元素,而是將滿足條件的的元素與指定的排序位置交換。
  4. 對比冒泡排序:和冒泡排序相比,直接選擇排序的交換次數要少很多,所以速度會快一點。
  5. 直接排序的優缺點:運算速度比冒泡排序快,但是由於在直接選擇排序中存在著不相鄰元素之間的互換,因此,直接選擇排序是一種不穩定的排序方法。
  6. 演算法實現:
 1 package liuenci.cn.package_3; 2  3 public class SelectSort { 4  5     /** 6      * 直接選擇排序 7      */ 8     public static void main(String[] args) { 9         // TODO Auto-generated method stub10         //建立一個亂序的數組11         int[] array={2,55,62,44,25,16};12         //建立直接排序的對象13         SelectSort sorter=new SelectSort();14         //調用直接選擇演算法對數組排序15         sorter.sort(array);16     }17     public void sort(int[] array){18         int index;19         for(int i=1;i<array.length;i++){20             index=0;21             for(int j=1;j<=array.length-i;j++){22                 if(array[j]>array[index]){23                     index=j;24                 }25                 //交換在位置array.length-i和index(最大值)上的兩個數26                 int temp=array[array.length-i];27                 array[array.length-i]=array[index];28                 array[index]=temp;29             }30             31         }32         showArray(array);33     }34     public void showArray(int[] array) {35         // TODO Auto-generated method stub36         for(int i=0;i<array.length;i++){37             int num=array[i];38             System.out.print(num+" ");39         }40         System.out.println();41     }42 43 }

     

【Java SE】如何用Java實現直接選擇排序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.