標籤:util 數組 print imp current 數字 for random 交換
import cn.idestiny.util.GeneratedArray;/** * @Auther: FAN * @Date: 2018/8/25 20:11 * @Description:選擇排序 每次排序選擇出最小的數字放在對應位置 * 1) 3,5,1,2 最小值 1 和3交換 * 2) 1,5,3,2 最小值 2 和5交換 * 3) 1,2,3,5 排序完成 **/public class SelectionSort { public static void main(String[] args) { int[] arr = GeneratedArray.randomGeneratedArray(10, 50, 10000); long start = System.currentTimeMillis(); selectionsort(arr); System.out.println(System.currentTimeMillis() - start); //判斷數組是否有序 GeneratedArray.isSorted(arr); } /** * 選擇排序演算法實現 * * @param arr */ public static void selectionsort(int[] arr) { for (int i = 0; i < arr.length; i++) { //預設標記當前位置元素為最小值 int minIndex = i; //迴圈遍曆當前元素是不是最小值,若不是,替換標記 for (int j = i + 1; j < arr.length; j++) { if (arr[minIndex] > arr[j]) { minIndex = j; } } //交換元素位置 int tmp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = tmp; } }}
選擇排序演算法