Java数组排序(选择排序)
数组高级选择排序
选择排序原理
从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数组排序(选择排序)相关推荐
- c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
- java中选择排序和冒泡排序_Java选择排序就是比冒泡排序牛「具体详情,请看此文」...
什么是选择排序 选择排序原理即是,遍历元素找到一个最小(或最大)的元素,把它放在第一个位置,然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置,依次下去,完成排序. 时间复杂度 选择排序的 ...
- Java利用选择排序和冒泡排序实现对键盘录入的数据排序
Java利用选择排序和冒泡排序实现对键盘录入的数据排序 选择排序 选择排序是遍历元素找到最大(最小)的元素,放到第一个位置然后到剩余的元素里找到第二大(小)的元素放到第二个,因此类推,就可以得到一个排 ...
- java实现选择排序 带打印,选择排序算法的JAVA实现
选择排序算法的JAVA实现 package Utils.Sort; /** *利用选择排序法对数组排序,数组中元素必须实现了Comparable接口. */ public class ChooseSo ...
- 过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
- 【十大经典排序算法】java实现--选择排序(2)
选择排序概述 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾. 重复第二步,直到所有元素均排序完毕. 选择排序j ...
- java 之选择排序与冒号排序的详解
选择排序: 核心思想:直接从待排数据中"选出"最小,或最大的数据,直接放在序列的前列位置,直到所有待排元素全部排列完毕 java代码的实现: public static void ...
- Java实现选择排序及其优化
本文带来八大排序算法之选择排序 选择排序(Select Sorting)属于内部排序算法.是从待排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的. 基本思想: 第 1 次从 a ...
- Java | 用Java实现选择排序算法(记录写程序全过程的编程哲学)
最近听了马士兵老师的java算法课,感觉这不错,我很欣赏其中的编程哲学. 一.编程哲学 有简单到复杂 1.1 验证一步走一步 1.2 多打印中间结果 先局部后整体 先粗糙后精细 3.1 变量更名 3. ...
- Java中选择排序,冒泡排序,插入排序,快速排序
一:冒泡法排序 //冒泡排序 注:从小到大排 //特点:效率低,实现简单 //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡 ...
最新文章
- Xamarin图表开发基础教程(12)OxyPlot框架支持的金融图表类型
- 十个行为把你变成糟糕的程序员
- go语言基础到提高(13)-同步
- 【CSS基础】实现 div 里的内容垂直水平居中
- 关于银联在线支付和短彩信接口的开发——总结
- Qt文档阅读笔记|Qt工作笔记-QMutexLocker的使用(抛出异常也能解锁)
- ActiveMQ学习总结(5)——Java消息服务JMS详解
- 日常(关于游泳之列的真理问题讨论)
- UIAlertController 类似相册拍照弹出框
- Linux上配置jupyter的步骤及与本地映射
- 基恩士光纤传感器怎么恢复出厂设置_光纤故障排查测试必备神器
- git bash提交代码步骤
- 泰格如何修改服务器地址,泰格X7盘点机使用说明
- Java实现欧姆龙Fins协议(推荐用springboot)
- 来了!5G和AI的未来 这10位行业领袖这么说
- 9. DICOM图像显示-DCMTK-窗宽窗位调整和源码分析
- 【算法】【树】已知先序中序序列求后序序列(详细解释)
- python生成图文并茂的pdf--财务报表(四)封面(首页和正页定义)
- 产品质量异常的正确处理流程
- java井字棋编程的收获_Java 井字棋小结
热门文章
- java c3p0 jar包_c3p0 jar包下载-c3p0-0.9.1.2.jar包下载 --pc6下载站
- 网络的日常——破解电信光猫后开启NAT接口映射
- 自动量程万用表的实现原理_自动量程万用表模块设计方案[图]
- 【原创】关于数字万用表的知识-2021-02-15
- 传奇物品在地上显示,红字,自动拾取文件
- mysql不是内部命令_mysql不是内部命令的错误解决方案
- 直播app系统源码,简单的登录界面(登录、注册、记住密码等按键)
- 关于“ 解决对COM组件的调用返回了错误HRESULT E_FAIL” 的方法
- LoadRunner压力测试:测试报告
- C语言中的strcmp函数的作用是什么,c语言strcmp函数用法是什么?