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

选择排序

时间:2022-11-19 11:45:53浏览次数:48  
标签:temp nums int lastIndex maxIndex 选择 索引 排序

/**

  • 选择排序

  • 1.将maxIndex赋值为数组第一个元素的索引

  • 2.与下一个值分别做比较,若小于下一个值则将较大值的索引赋值给maxIndex

  • 3.比较结束后将最大值置于最后,将maxIndex重新赋值为0

  • 4.下一轮比较开始
    */
    public class CollectionDemo1 {
    public static void main(String[] args) {
    int[] nums = {1, 4, 3, 5, 2};

     int maxIndex = 0;
     int temp = 0;
     int lastIndex = nums.length - 1;
    
     for (int i = nums.length - 1; i > 0; i--) {//一共比较几轮
         for (int j = 1; j < i + 1; j++){//首个元素不用和自身比较
             if(nums[maxIndex] < nums[j]){
                 maxIndex = j;
             }
         }
         //循环结束后得到maxIndex为第一轮比较的最大元素的索引,将最大索引处的元素与最后一个值交换
         temp = nums[maxIndex];
         nums[maxIndex] = nums[lastIndex];
         nums[lastIndex] = temp;
         lastIndex--;
         maxIndex = 0;//maxIndex初始化
     }
     for (int i = 0; i < nums.length; i++) {
         System.out.print(nums[i] + " ");
     }
    

    }
    }

标签:temp,nums,int,lastIndex,maxIndex,选择,索引,排序
From: https://www.cnblogs.com/10525blogs/p/16905763.html

相关文章

  • 冒泡排序_关于toString
    //冒泡排序packagecom.ShiXun_JiChu;importjava.util.Arrays;publicclassday20221119_05{publicstaticvoidmain(String[]args){int[]arr={10,5,2,1......
  • [排序算法] 插入排序 (C++)
    插入排序解释插入排序很好理解,其步骤是:先将第一个数据元素看作是一个有序序列,后面的n-1个数据元素看作是未排序序列。对后面未排序序列中的第一个数据元素在这个有序序......
  • [排序算法] 简单选择排序 (C++)
    简单选择排序原理简单选择排序SelectSort是一种十分直观地排序方法。其原理是每次从未排序的元素中找到当前最小的元素,放在当前未排序序列的首位。一直重复操作直至最后......
  • [排序算法] 双向冒泡排序 (C++)
    前言本文章是建立在冒泡排序的基础上写的,如还有对冒泡排序不了解的童鞋,可以看看这里哦~冒泡排序C++双向冒泡排序原理双向冒泡排序的基本思想与冒泡排序还是一样......
  • IoT物联网无线通信模块该如何选择?
    目前大多数物联网(IoT)的节点都是使用ZigBee技术来进行组网的,然后通过gateway(网关)来连接网络。但是ZigBee模块的优势并不明显,也有很多公司正在开发新的无线模块来代替它,例如lo......
  • Css选择器-餐厅练习
    网站:https://flukeout.github.io/题目不懂可百度翻译,答案参考如下:1A2A3#id4AB5#idA6.classname7A.className8Putyourbackintoit!9A,B10*1......
  • kettle资源库的选择
    1.可以用数据库作为资源库,这样自己建的作业转换都可以在连接资源的时候看到 --可以查看到转换SELECT * FROM r_job--可以查看到作业SELECT * FROM r_jobent......
  • uniapp微信小程序 选择日期时间
    一。根据需要点击选择时间日期,效果如下图:   (1)新建一个dateTimePicker.js文件functionwithData(param){returnparam<10?'0'+param:''+param;}fu......
  • 网络选择云服务器重要的部分是什么
    云服务器的优势:1、多地域性覆盖云服务器的所在地域性广,丰富的地域性为客户所拥有的业务保驾护航,三大地域覆盖全国内的业务需求。对于境外的也满足国外的需求。......
  • 54:多分支选择结构
    多分支选择结构的语法格式如下:if条件表达式1:   语句1/语句块1elif条件表达式2:   语句2/语句块2elif条件表达式n:   语句n/语句块n[else......