java 選擇排序

基本思想:首先,找到數組中最小的那個元素,其次將它和數組的第一個元素交換位置(若是第一個元素就是最小元素那麼它就和本身交換)。再次,在剩下的元素中找到最小元素,將它與數組的第二個元素交換位置。如此往復,直到將整個數組排序。java

package com.test;

import java.util.Arrays;

public class SelectSort {
    
    public static void main(String[] args) {
        int test[] = {49,38,65,97,76,13,27,49};
        sort(test);
        System.out.println(Arrays.toString(test));
    }
    
    public static void sort(int[] a) {
        for (int i = 0; i < a.length; i ++) {
            int min = i; // 將當前下標定義爲最小下標
            int tmp = a[i];
            for (int j = i + 1; j < a.length; j ++) {
                if (a[j] < tmp) {    // a[j] < temp 從小到大排序;a[j] > temp 從大到小排序
                    tmp = a[j];    // 若是有小於當前最小值的關鍵字將此關鍵字的下標賦值給min
                    min = j;
                }
            }
            if (min != i) {
                a[min] = a[i];
                a[i] = tmp;
            }
        }
    }
}
相關文章
相關標籤/搜索