直接选择排序核心思想:从无序区中选择一个最小值,和无序区的第一个元素互换位置
//直接选择排序
public class TestSelectSort {
public static void sort(int arr[]) {
int temp = 0;
//外层循环控制趟数。 i的值代表了待排序区的第一个元素的索引
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;
}
}
// 退出for就找到返次的最小值
if (i != minIndex) {
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
}