数组高级选择排序

选择排序原理
        从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处

图解

推导过程:

package org.westos.demo1;import java.util.Arrays;public class MyTest {public static void main(String[] args) {//选择排序:每次拿一个元素,跟他后面所有的元素挨个比较,小的往前面放,经过一轮比较后,最小的元素就出现在最前面int[] arr = {24, 69, 80, 57, 13};tuiDao(arr);}private static void tuiDao(int[] arr) {//第1轮:从0索引处开始,比较了4次int index=0;//定义索引从0开始for (int i = index+1; i < arr.length; i++) {if(arr[index]>arr[i]){int t=arr[index];arr[index]=arr[i];arr[i]=t;}}System.out.println(Arrays.toString(arr));//查看第1轮比较结果//第2轮:从1索引处开始,比较了3次index=1;//定义索引从1开始for (int i = index+1; i < arr.length; i++) {if(arr[index]>arr[i]){int t=arr[index];arr[index]=arr[i];arr[i]=t;}}System.out.println(Arrays.toString(arr));//查看第2轮比较结果//第3轮:从2索引处开始,比较了2次index=2;//定义索引从2开始for (int i = index+1; i < arr.length; i++) {if(arr[index]>arr[i]){int t=arr[index];arr[index]=arr[i];arr[i]=t;}}System.out.println(Arrays.toString(arr));//查看第3轮比较结果//第4轮:从3索引处开始,比较了1次index=3;//定义索引从3开始for (int i = index+1; i < arr.length; i++) {if(arr[index]>arr[i]){int t=arr[index];arr[index]=arr[i];arr[i]=t;}}System.out.println(Arrays.toString(arr));//查看第4轮比较结果}
}

推导过程输出结果:

选择排序 

package org.westos.demo1;import java.util.Arrays;public class MyTest1 {public static void main(String[] args) {int[] arr = {24, 69, 80, 57, 13, 85, 23, 0, 12, 7};for (int index = 0; index < arr.length; index++) {for (int i = index+1; i < arr.length; i++) {if (arr[index]>arr[i]) {int t=arr[index];arr[index]=arr[i];arr[i]=t;}}}System.out.println(Arrays.toString(arr));}
}

输出结果:

Java数组排序(选择排序)相关推荐

  1. c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  2. java中选择排序和冒泡排序_Java选择排序就是比冒泡排序牛「具体详情,请看此文」...

    什么是选择排序 选择排序原理即是,遍历元素找到一个最小(或最大)的元素,把它放在第一个位置,然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置,依次下去,完成排序. 时间复杂度 选择排序的 ...

  3. Java利用选择排序和冒泡排序实现对键盘录入的数据排序

    Java利用选择排序和冒泡排序实现对键盘录入的数据排序 选择排序 选择排序是遍历元素找到最大(最小)的元素,放到第一个位置然后到剩余的元素里找到第二大(小)的元素放到第二个,因此类推,就可以得到一个排 ...

  4. java实现选择排序 带打印,选择排序算法的JAVA实现

    选择排序算法的JAVA实现 package Utils.Sort; /** *利用选择排序法对数组排序,数组中元素必须实现了Comparable接口. */ public class ChooseSo ...

  5. 过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  6. 【十大经典排序算法】java实现--选择排序(2)

    选择排序概述 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾. 重复第二步,直到所有元素均排序完毕. 选择排序j ...

  7. java 之选择排序与冒号排序的详解

    选择排序: 核心思想:直接从待排数据中"选出"最小,或最大的数据,直接放在序列的前列位置,直到所有待排元素全部排列完毕 java代码的实现: public static void ...

  8. Java实现选择排序及其优化

    本文带来八大排序算法之选择排序 选择排序(Select Sorting)属于内部排序算法.是从待排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的. 基本思想: 第 1 次从 a ...

  9. Java | 用Java实现选择排序算法(记录写程序全过程的编程哲学)

    最近听了马士兵老师的java算法课,感觉这不错,我很欣赏其中的编程哲学. 一.编程哲学 有简单到复杂 1.1 验证一步走一步 1.2 多打印中间结果 先局部后整体 先粗糙后精细 3.1 变量更名 3. ...

  10. Java中选择排序,冒泡排序,插入排序,快速排序

    一:冒泡法排序  //冒泡排序 注:从小到大排    //特点:效率低,实现简单   //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡 ...

最新文章

  1. Xamarin图表开发基础教程(12)OxyPlot框架支持的金融图表类型
  2. 十个行为把你变成糟糕的程序员
  3. go语言基础到提高(13)-同步
  4. 【CSS基础】实现 div 里的内容垂直水平居中
  5. 关于银联在线支付和短彩信接口的开发——总结
  6. Qt文档阅读笔记|Qt工作笔记-QMutexLocker的使用(抛出异常也能解锁)
  7. ActiveMQ学习总结(5)——Java消息服务JMS详解
  8. 日常(关于游泳之列的真理问题讨论)
  9. UIAlertController 类似相册拍照弹出框
  10. Linux上配置jupyter的步骤及与本地映射
  11. 基恩士光纤传感器怎么恢复出厂设置_光纤故障排查测试必备神器
  12. git bash提交代码步骤
  13. 泰格如何修改服务器地址,泰格X7盘点机使用说明
  14. Java实现欧姆龙Fins协议(推荐用springboot)
  15. 来了!5G和AI的未来 这10位行业领袖这么说
  16. 9. DICOM图像显示-DCMTK-窗宽窗位调整和源码分析
  17. 【算法】【树】已知先序中序序列求后序序列(详细解释)
  18. python生成图文并茂的pdf--财务报表(四)封面(首页和正页定义)
  19. 产品质量异常的正确处理流程
  20. java井字棋编程的收获_Java 井字棋小结

热门文章

  1. java c3p0 jar包_c3p0 jar包下载-c3p0-0.9.1.2.jar包下载 --pc6下载站
  2. 网络的日常——破解电信光猫后开启NAT接口映射
  3. 自动量程万用表的实现原理_自动量程万用表模块设计方案[图]
  4. 【原创】关于数字万用表的知识-2021-02-15
  5. 传奇物品在地上显示,红字,自动拾取文件
  6. mysql不是内部命令_mysql不是内部命令的错误解决方案
  7. 直播app系统源码,简单的登录界面(登录、注册、记住密码等按键)
  8. 关于“ 解决对COM组件的调用返回了错误HRESULT E_FAIL” 的方法
  9. LoadRunner压力测试:测试报告
  10. C语言中的strcmp函数的作用是什么,c语言strcmp函数用法是什么?