package com.arithmetic;import java.util.Arrays;//選擇排序(Selection sort)是一種簡單直觀的排序演算法。//它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,//然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。//以此類推,直到所有元素均排序完畢。public class Test_wzs010 {public static void main(String[] args) {int[] intArray = { 10, 3, 5, 7, 9, 1, 4, 2, 6, 8 };chooseSort(intArray);System.out.println("\n排序後:" + Arrays.toString(intArray));}/** * 選擇排序 * * @param intArray * 需要排序的數組 */static void chooseSort(int[] intArray) {int length = intArray.length;int temp; // 用來儲存最小的值int minimumIndex;for (int i = 0; i < length; i++) {temp = intArray[i];minimumIndex = i;for (int j = i + 1; j < length; j++) {if (intArray[j] < temp) {temp = intArray[j];minimumIndex = j;}}intArray[minimumIndex] = intArray[i];intArray[i] = temp;System.out.println("第" + (i + 1) + "次排序:" + Arrays.toString(intArray));}}}
輸出結果:
第1次排序:[1, 3, 5, 7, 9, 10, 4, 2, 6, 8]第2次排序:[1, 2, 5, 7, 9, 10, 4, 3, 6, 8]第3次排序:[1, 2, 3, 7, 9, 10, 4, 5, 6, 8]第4次排序:[1, 2, 3, 4, 9, 10, 7, 5, 6, 8]第5次排序:[1, 2, 3, 4, 5, 10, 7, 9, 6, 8]第6次排序:[1, 2, 3, 4, 5, 6, 7, 9, 10, 8]第7次排序:[1, 2, 3, 4, 5, 6, 7, 9, 10, 8]第8次排序:[1, 2, 3, 4, 5, 6, 7, 8, 10, 9]第9次排序:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]第10次排序:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]排序後:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]