摘要:直接選擇排序屬於選擇排序的一種,可是它的排序算法比冒泡排序的速度要快一些,因爲它的算法比較簡單,因此也比較適合初學者學習掌握。算法
適宜人羣:有必定Java SE基礎,明白Java的數據類型,數組的定義、初始化以及經常使用數組的方法,還有Java的循環操做。數組
前期準備:最好有一個開發工具好比說:eclipse或者myeclipse均可以,固然你使用DOS系統進行編譯運行均可以,只不過改bug會麻煩一點。eclipse
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 stub 10 //建立一個亂序的數組 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 stub 36 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 }