选择排序的思路比较简单,
即第一轮循环找出最小的数放在数组的第一个位置;
第二轮循环找出第二小的数放在数组的第二个位置;
。。。
public class SelectionSort {
public static void sort(int[] arr){
for (int i = 0; i < arr.length; i++) {
int minIndex = i; // 每次循环先把第一个数作为最小值
for (int j = i+1; j < arr.length; j++) { // 找到剩余数中最小的值,记录其索引
if (arr[j] < arr[minIndex]){
minIndex = j;
}
}
// 将该轮循环的第一个数的值和剩余数的最小值交换
int tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}