选择排序
选择排序的基本思想:
在一个数组中,将第一个for循环的值保存起来min,而后碰到比min小的就将其覆盖并保存,一下是代码实现和图解:
public static void select1(int[] arr) {
int minIndex = 0;
int min = 0;
for (int i = 0; i < arr.length; i++) {
min = arr[i];
minIndex = i;
for (int j = i; j < arr.length; j++) {
if (min > arr[j]) {
min = arr[j];
minIndex = j;
}
}
if (minIndex != i) {
arr[minIndex] = arr[i];
arr[i] = min;
}
}
}
第一次的循环
第二次的循环
第三次的循环
第四次的循环
选择排序对8万个数据进行排序的话,我的电脑用时2-3秒(可能我的电脑比较拉跨!!!)是一个不错的时间,使用情况为数据较少的情况,为空间换时间