一、排序思想
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:
- 从待排序列中选出最小(或最大)的一个元素,记录其下标(数组)的位置;
- 将记录的下标值与待排序列的第一个元素进行交换;
- 以此类推,直到全部待排序列的元素排完。
二、图解
三、代码实现
public class SelectionSort {
public static void main(String[] args) {
int[] arr = {43, 21, 65, 23, 65, 33, 21, 12, 43, 54};
selectionSort(arr);
for (int i : arr) {
System.out.print(i + "\t");
}
}
private static void selectionSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[minIndex] > arr[j]) {
minIndex = j;
}
}
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
}