选择排序是一种不稳定的排序方法,不依赖于输入,所以一个排好序的数组和一个随机数组所用时间相同。那我们可以设置一个变量检测是否找到比当前小的值,没有则证明数组已是排好序的。
public static void sort(Comparable[] array) {
int min;
for (int i = 0; i < array.length - 1; i++) {
min = i;
for (int j = i + 1; j < array.length; j++) {
if (less(array[j], array[min])) {//判断是否小于
min = j;
}
}
exec(array, i, min);//交换
}
}