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