排序演算法之選擇排序演算法【java實現】
阿新 • • 發佈:2018-11-20
簡介:遍歷陣列,每次選出最小的數與索引第一個進行交換,直到全部完成。
package zhgyu.sort; /** /*選擇排序演算法 * @author zhgyu * */ public class SelectionSort { static final int SIZE = 10; public static void selectionSort(int[] arr) { int index,temp; //從第一個數開始當索引 for(int i = 0; i < arr.length - 1; i++) { index = i; for(int j = i + 1; j < arr.length; j++) { //如果後面的小於指定的索引數就替換他倆 if(arr[index] > arr[j]) { temp = arr[index]; arr[index] = arr[j]; arr[j] = temp; } } //排序一次的結果 System.out.println("第" + (i+1) + "次的排序結果:"); for(int k = 0; k < arr.length; k++) { System.out.print(arr[k] + "\t"); } System.out.println(); } } public static void main(String[] args) { int[] arr = new int[SIZE]; int i; for(i = 0; i < SIZE; i ++) { arr[i] = (int)(Math.random()*(100 + 1)); } //排序前的陣列 for(i = 0; i < arr.length; i++) { System.out.print(arr[i] + "\t"); } System.out.println(); selectionSort(arr); //輸出陣列arr System.out.println("最終的排序結果:"); for(i = 0; i < arr.length; i++) { System.out.print(arr[i] + "\t"); } System.out.println(); } }