引言
文章会使用一个基类,如果需要使用,请点击基类
)进行获取;
介绍
选择排序相对于上一次写的冒泡排序而言,效率相对较高,适用于少量的数据;原理和冒泡有相似的地方,将无序数组的第i个元素与剩下n-i个 元素进行对比,进而达到排序的结果;但是不会没比较一次就交换一次位置,在无序数组中,找到最小的值,然后与第i个值进行交换,直到遍历结束;
代码
@Override
public void sort(int[] comparable) {
// sorting ascending
int len = comparable.length;
for (int i = 0; i < len; i++) {
int min = i;
for (int j = i + 1; j < len; j++) {
if (less(comparable[j], comparable[min])) {
min = j;
}
}
exch(comparable, i, min);
}
}
结语
如果有更好的写法或者有更高效的方式,请直接@我,毕竟大家进步才是真的进步(手动捂脸);