选择排序

话不多说,直接上代码(Coding):

复制代码
/**
 * 选择排序 每轮选择当前位置 找出后面的较小值与当前位置进行替换
 */
public class Demo03 {
    public static void main(String[] args) {
        // 1、定义一个元素列表
        int[] numList = new int[]{5, 2, -1, 20};
        // 2、选择排序
        chooseSort(numList);
        // 3、打印
        for (int i = 0; i < numList.length; i++) {
            System.out.print(i == numList.length - 1 ? numList[i] : numList[i] + ",");
        }
    }

    /**
     * 选择排序
     *
     * @param numList
     */
    private static void chooseSort(int[] numList) {
        // 0 -> 1 2 3
        // 1 -> 2 3
        // 2 -> 3
        for (int i = 0; i < numList.length - 1; i++) {
            for (int j = i + 1; j < numList.length; j++) {
                if (numList[i] > numList[j]) {
                    int temp = numList[i];
                    numList[i] = numList[j];
                    numList[j] = temp;
                }
            }
        }
    }
}
复制代码

这边会发现冒泡排序好像和选择排序有点像 因此我这边顺便把区别也给写下:

选择排序和冒泡排序的区别?

1、每轮比较的次数不同 冒泡排序需要每轮多次比较 第一个和第二个比 然后第二个和第三个比 逐一比

但选择排序每轮是单次比较的 它是每轮选择当前位置 找出后面的更小值 与自己进行交换位置

2、因此从轮数来看 比较时间效率的话 选择排序会比较快

3、但如果元素列表中出现重复的元素的情况的话 冒泡排序会比较稳定 用选择排序的话就会比较不稳定

.......剩下的请大家帮忙写下!

本文作者:AxeBurner

本文链接:https://www.cnblogs.com/bichen-01/p/17073633.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   AxeBurner  阅读(13)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.