文章目录

  • 选择排序原理(从小到大)
  • 代码实现

选择排序原理(从小到大)

~~~~~~~       在第一轮中把第一个元素假设为较小的元素,用第一个元素和后面的元素一个一个的比较,若被比较的元素较小时则交换它们的位置
~~~~~~~       在第二轮中,因为第一个元素在第一轮比较完后,它就是最小的元素了,所以把第二个元素假设为较小的元素,用第二个元素和后面的元素一个一个的比较,若被比较的元素较小时则交换它们的位置
~~~~~~~       
~~~~~~~       一直最后一轮的倒数第二个元素和最后一个元素比较

代码实现

package priv.sort.selection;/*选择排序
*/import java.util.Arrays;
import java.util.Random;public class selectionSortDemo {public static void main(String[] args) {//创建要排序的数组int[] arr = new int[10];Random random = new Random();//遍历数组对每个元素赋值for (int i = 0; i < arr.length; i++) {//获取[0,1000)的随机整数,并给数组的每个元素赋值arr[i] = random.nextInt(100);}//在控制台输出显示未排序的数组System.out.println(Arrays.toString(arr));//选择排序原理排序数组元素大小(从小到大)for (int i = 0; i < arr.length-1; i++) {//外循环控制循环的轮数int minIndex = i;//定义变量,表示每一轮假设最小元素的索引for (int j = 1 + i; j < arr.length; j++) {//内循环控制每一轮被比较的元素if (arr[minIndex] > arr[j]) {//交换元素的位置int empty = arr[minIndex];arr[minIndex] = arr[j];arr[j] = empty;}}}//在控制台输出显示排好序的数组System.out.println(Arrays.toString(arr));}
}

选择排序的Java代码实现(超详细代码)相关推荐

  1. 学习pandas全套代码【超详细】数据查看、输入输出、选取、集成、清洗、转换、重塑、数学和统计方法、排序

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 本篇博客将会给 ...

  2. 400 多行代码!超详细 Rasa 中文聊天机器人开发指南 | 原力计划

    作者 | 无名之辈FTER 责编 | 夕颜 出品 | 程序人生(ID:coder_life) 本文翻译自Rasa官方文档,并融合了自己的理解和项目实战,同时对文档中涉及到的技术点进行了一定程度的扩展, ...

  3. JAVA 正则表达式 (超详细,转)

    转 JAVA 正则表达式 (超详细,转) 2015年03月25日 10:27:57 阅读数:1514 在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍 ...

  4. 归并排序(代码注释超详细)

    归并排序: (复制粘贴百度百科没什么意思),简单来说,就是对数组进行分组,然后分组进行排序,排序完最后再整合起来排序! 我看了很多博客,都是写的8个数据呀什么的(2^4,分组方便),我就想着,要是10 ...

  5. 单片机c语言全程图文教程,单片机C语言,从小白到菜鸟进阶教程(超详细代码解读)...

    首先要认识单片机是啥?单片机语言是啥?单片机是一种可存储可读写可编程可运行的芯片,你写啥它就运行啥,运行出错,那你程序写错了.单片机语言,嗯!确定要学C啊!有哪一种语言能够抗衡C的强大地位?没有!哪一 ...

  6. win10环境下下载安装openpose(only cpu)并在pycharm中运行代码(超详细)

    win10环境下下载安装openpose(only cpu)并在pycharm中运行代码(超详细) (一)前言 (二)准备工作 (三)友情提醒 (四)详细安装步骤 1.新建文件夹 2.下载OpenPo ...

  7. 数据结构 - 树形选择排序 (tree selection sort) 具体解释 及 代码(C++)

    树形选择排序 (tree selection sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 算法逻辑: 依据节点的大小, ...

  8. mask rcnn 超详细代码解读(一)

    mask r-cnn 代码解读(一) 文章目录 1 代码架构 2 model.py 的结构 3 train过程代码解析 3.1 Resnet Graph 3.2 Region Proposal Net ...

  9. Github上传代码菜鸟超详细教程

    最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...

  10. HTML5 form表单 调查问卷制作(内含超详细代码解读)

    HTML 表单技术练习:制作调查问卷(内含超详细代码解读) 这一篇来记录HTML5表单API的学习,以制作调查问卷为例,效果如图: 注:完整代码见文章末尾处. 一.表单标签form 1.常用属性 常用 ...

最新文章

  1. Media Player网页播放音频,视频,图片总汇
  2. python:django应用问题汇总
  3. python获取目录树_Python读取文件目录树——os.walk
  4. 怎么更改sql的实例版本_学会复杂一点的SQL语句:Oracle DDL和DML
  5. vs 如何将源文件转换成可执行文件_如何将手机便签转换成word文本文档
  6. bzoj1228 [SDOI2009]ED 找规律
  7. 基线是什么意思_CAD都玩不溜,还好意思说自己搞工程的?
  8. 元音字母A的发音规则
  9. wordpress后台出现404
  10. 华为hg255d+Openwrt锐捷认证在某农业公园
  11. ⑤初识java:打印日历
  12. 误删除vmdk文件恢复办法
  13. 计算机锁屏图片怎么设置方法,电脑锁屏照片怎么设置
  14. pdf.js根据路径里传参数高亮显示关键字(跳转到对应页面)
  15. live555源码分析(七)播放过程
  16. python备份cisco交换机_思科交换机备份与还原
  17. 一加nfc门禁卡录入_一加7t怎么开启NFC 模拟门禁卡方法介绍
  18. 十一、海思HISI3556V200摄像头功能裁剪
  19. vue3.0的多种写法,你喜欢哪种呢?
  20. Appium报错解决

热门文章

  1. 15个最佳电子商务Android应用模板
  2. python 模拟用户点击浏览器_浏览器行为模拟之requests、selenium模块
  3. 在 VM的CentOS 中 安装 sspanel 宝塔面板 总结
  4. 使用apt更新和升级系统软件
  5. 戴尔计算机更新程序,戴尔电脑怎么关闭自动更新系统
  6. 什么是html文件?html格式如何打开?(图)
  7. 线程取消(pthread_cancel)
  8. Unity PlayerSetting设置
  9. css中怎么设置字体加粗,css怎么把字体加粗加大
  10. Halcon实战之车牌识别