选择排序(Selection Sort)

动图演示地址(​​https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html​​​)

Java排序算法:选择排序_选择排序

代码结构

Java排序算法:选择排序_选择排序_02

Java排序算法:选择排序_代码结构_03

Java排序算法:选择排序_i++_04

Java排序算法:选择排序_i++_05

源码

前置条件:父接口和测试类从上篇文章获取

package suanfa.paixu;

public class XuanZeTest implements Sort {
public static void main(String[] args) {
Test.test(new XuanZeTest());
}

public void sort(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
for (int i = 0; i < arr.length; i++) {
int minI = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[minI] > arr[j]) {
minI = j;
}
}
swap(arr, i, minI);
}
}
}