1. 程式人生 > 實用技巧 >Linux Bash管理

Linux Bash管理

選擇排序思想:

選擇排序(select sorting) 也是一種簡單的排序方法。它的基本思想是:第一次從arr[0]^ arr[n-1]中選取最小值,與arr[0]交換,第二次從arr[1]* ararrln-1]中選取最小值,與arr[1]交換,第三決從arr[2] arr[n-1]中選取最小值,與arr[2]交換,第i次從arr[i-1]^ arr[n-1]中選取最小值,與arr[i-1]交換,第n-1次從arr[n-2]^ arr[n-1]中選取最小值,與arr[n-2]交換,總共通過n-1次,得到一個按排序碼從小到大排列的有序序列。

思路:

程式碼實現(普通方法與打擂臺演算法):

import
java.util.Arrays; public class Test02_選擇排序 { public static void main(String[] args) { int[] arr = {3,1,6,2,5}; Sort(arr); //SelectSort(arr); System.out.println("陣列排序後的結果為:"+Arrays.toString(arr)); } //普通方法實現選擇排序 public static void Sort(int[] arr){ for
(int i=0;i<arr.length;i++){ for (int j=i+1;j<arr.length;j++){ if (arr[i] > arr[j]){ //交換位置 int temp; temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } }
//打擂臺實現選擇排序 public static void SelectSort(int[] arr){ for (int i=0;i<arr.length;i++){ int maxIndex = i;//假設第一個元素是擂主 for (int j=i+1;j<arr.length;j++){//j+1是因為從第二個元素開始比較,因為第個值預設是最大 if(arr[j] > arr[maxIndex]){ maxIndex = j;//擂主易主 } } if ( maxIndex != i ){//如果擂主不是先前的 int temp; temp = arr[i]; arr[i] = arr[maxIndex]; arr[maxIndex] = temp; } } } }