首页 > 其他分享 >选择排序

选择排序

时间:2023-01-29 19:11:06浏览次数:37  
标签:每轮 int 冒泡排序 选择 排序 numList

话不多说,直接上代码(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、但如果元素列表中出现重复的元素的情况的话 冒泡排序会比较稳定 用选择排序的话就会比较不稳定

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

标签:每轮,int,冒泡排序,选择,排序,numList
From: https://www.cnblogs.com/bichen-01/p/17073633.html

相关文章

  • 2023年浏览器哪个好,如何选择浏览器?
    浏览器作为电脑必备的软件之一,相信绝大多数人都用过。选择一款好用的浏览器,可以帮助我们提升工作效率。那么,浏览器哪个比较好,我们如何选择合适的浏览器?为了找到集速度、易......
  • 题目:字符串排序
    实现一个函数,输入为一个字符串只包含a-z,返回字符串中出现次数最多的字符及其出现次数,如果有出现同样次数的,则返回在字符串中位置更靠前的#include<stdio.h>intget_max_......
  • 归并排序
    归并排序的思路1.将整个区间分为两个子区间即[L,R]=>[L,mid]+[mid+1,R]2.递归排序[L,mid]和[mid+1,R]3.归并,将左右两个有序序列合并为一个有序序列......
  • 力扣-82-删除排序链表中的重复元素Ⅱ
    这个删除重复不太常规的是:它不是删除多出来的剩下一个,而是比如有三个1,1重复了,那这三个1节点都不要 ListNode*deleteDuplicates(ListNode*head){ if(!head)returnh......
  • 2023年学技术为什么选择邯郸翱翔
    ​春节休息放松之后整理好心情,调整好状态“满电”投入新一年的工作与学习当中吧!春季班火热开启,年后该为自己打算了作为初中生或者高中生,如果你的文化课成绩不理想的话,选择学......
  • 17种编程语言实现排序算法-桶排序
    开源地址​​https://gitee.com/lblbc/simple-works/tree/master/sort/​​覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、......
  • 17种编程语言实现排序算法-计数排序
    开源地址​​https://gitee.com/lblbc/simple-works/tree/master/sort/​​覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、......
  • 17种编程语言+10种排序算法
    开源地址​​https://gitee.com/lblbc/simple-works/tree/master/sort​​覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、......
  • 17种编程语言实现排序算法-堆排序
    开源地址​​https://gitee.com/lblbc/simple-works/tree/master/sort/​​覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、......
  • 17种编程语言实现排序算法-插入排序
    开源地址​​https://gitee.com/lblbc/simple-works/tree/master/sort/​​覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、......