1. 程式人生 > >JAVA選擇排序SelectSort

JAVA選擇排序SelectSort

選擇排序的思想很簡單,首先假設陣列中的最小值在第0位,找到真的最小值後和第0位上的數交換,真最小值獲得下標[0];同理,假設陣列中的次小值在第1位,找到真的次小值後和第1位上的數交換,真次小值獲得下標[1]……直到遍歷陣列中的所有位置~JAVA實現程式碼如下:

/**
 * @ Author     :JiaoLi
 * @ Date       :Created in 14:42 2018/11/17
 * @ Description:選擇排序
 * @ Modified By:
 * @Version: 0.0
 */
public class SelectSort {
    public static void
main(String[] args) { int[] arr = {10,11,9,8,6}; selectSort(arr); for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } public static void selectSort(int[] arr){ int minIndex = 0; for(int i=0;i<arr.length-1;i++){ minIndex =
i; for(int j=i+1;j<arr.length;j++){ if(arr[j]<arr[minIndex]){ minIndex = j; } } if(i!=minIndex){ int temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp;
} } } }

輸出結果:

6 8 9 10 11 

Tips:判斷最小值時候的語句if(arr[j]<arr[minIndex]){minIndex = j;}會將找到的最小值下標儲存在minIndex中,直到遍歷結束後與i進行交換~