选择排序

引言

文章会使用一个基类,如果需要使用,请点击基类
)进行获取;

介绍

选择排序相对于上一次写的冒泡排序而言,效率相对较高,适用于少量的数据;原理和冒泡有相似的地方,将无序数组的第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);
    }
}

结语

如果有更好的写法或者有更高效的方式,请直接@我,毕竟大家进步才是真的进步(手动捂脸);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容