排序演算法之二---------> 選擇排序
阿新 • • 發佈:2021-02-15
選擇 排序 :
思想:
1 . 從arr[0]—arr[n-1] 中選擇最小值 與arr[0] 交換
2. 從arr[1]—arr[n-1] 中選擇最小值 與arr[1] 交換
3. 從arr[2]—arr[n-1] 中選擇最小值 與arr[2] 交換
…
package com.atguigu;
import java.util.Arrays;
/**
* @author yqb
* @create 2021-SelectSort-31 13:01
*/
public class SelectSort {
public static void main (String[] args) {
int arr[] = {20, 3, 6, 65, 62, -10,255,300};
selectSort(arr);
System.out.println(Arrays.toString(arr));
}
/**
*
* 快速排序 :
* @param arr
*/
public static void selectSort(int arr[]) {
for (int i = 0; i < arr.length - 1; i++ ) { // 共執行 length-1 次
int minIndex = i;
int min = arr[i];
for (int j = i + 1; j < arr.length; j++) {
if (min > arr[j]) {
min = arr[j]; //重置
minIndex = j; //重置
}
}
if (minIndex != i) {// 交換兩個數 .
arr[minIndex] = arr[i];
arr[i] = min;
}
}
}
}