简单选择排序

简单选择排序基本思虑

1.简单来说就是找到数组中最小的放到0,第二小的放到1,以此类推。
2.首先假设第0个值为最小
3.然后从他后面的值找到比他小的,设那个值为最小,以此类推,直到最后。
4.将最小值和0互换位置。
5.现在0位置的值就是整个数组最小的值。这个时候我们设第1个值为最小,然后重复3,4,5步骤,直到结束。

代码

public class JianDanXuanZhe {static void sort(int[] arr){for(int i = 0 ;i<arr.length;i++) {int min = arr[i];int min_index = i ;for(int j = i+1;j<arr.length;j++){if(arr[j] <= min){min = arr[j];min_index = j;}}if(min_index != i){arr[min_index] = arr[i];arr[i] = min;}}}public static void main(String[] args){int[] arr = {1,6,7,8,9,10,4,3,2,5,};sort(arr);for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}}

懒癌患者的学习记录之JAVA简单选择排序相关推荐

  1. 懒癌患者的学习记录之JAVA简单插入排序

    简单插入排序 简单插入排序的基本思路 1.将数组的前n个数视为一个有序数列(先将第一个数视为有序数列,然后前两个数,再前三个数) 2.将第n+1与前面的所有数进行比较,找到该数所在位置将其插入(其他数 ...

  2. 懒癌患者的学习记录之JAVA希尔排序

    希尔排序 希尔排序的基本思路 在看希尔排序之前建议先看一下简单插入排序 1.我们先设置一个增量gap=length/2 2.将数组从0开始与0+length/2 两两组成一组,这个时候分成了lengt ...

  3. 懒癌患者的学习记录之JAVA冒泡排序代码

    冒泡排序 冒泡排序基本思路: 从第零位开始,依次与后一位进行比较并将较大的往后排较小的往前排.第一次循环就会将最大的值排在最后一位,第二次循环会将第二大的值排在倒数第二位,以此类推. JAVA冒泡排序 ...

  4. 懒癌患者的学习记录之JAVA快速排序代码

    快速排序 快速排序基本思路 1,取数组中的一个数(一般为最左边的数)作为基准点 2,从数组的最右边开始取值与基准点进行比较,取比基准点小(大)的值 3,从数组的最左边开始取值与基准点进行比较,取比基准 ...

  5. JAVA简单选择排序算法原理及实现

    简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...

  6. 懒癌患者的学习记录之课程代码旋转木马(3d旋转效果)

    旋转木马3d旋转效果 设计思路 一,用大div将需要旋转的元素包裹起来,该大div称之为舞台 <div id="d"><div class="d1&qu ...

  7. 懒癌患者的学习记录之小知识点

    8bit(位) = 1字节 1024字节 = 1kb 1024kb = 1mb 1024mb = 1GB 1024GB = 1TB 2.html的注释是什么? <!-- 注释说明.... --& ...

  8. IDL学习记录和Java调用IDL方法

    IDL学习记录和Java调用IDL方法 2018年02月06日 08:32:02 回首1949 阅读数:385更多 个人分类: 随想 版权声明:乐呵乐呵得了 https://blog.csdn.net ...

  9. java基础案例教程前4章知识点_java学习记录4 Java基础知识点

    java学习记录4 Java基础知识点 1. 注释 单行注释 使用"//"开头,后面是注释的内容 一般在要注释的语句的上面加注释 多行注释 以"/*"开头,以& ...

最新文章

  1. salt远程执行python脚本_SaltStack远程执行Windows job程序(黑窗口)填坑经过
  2. SnipperImages(Silverlight DEMO)控件设计之--Slider和ColorSlider
  3. Java面试题中高级,javaif循环语句
  4. 解决c#,wpf程序带环境安装包体积太大问题
  5. 数字图像中高频噪声的滤波
  6. mysql2005安装_安装SQL Server 2005的详细步骤
  7. NodeMCU-ESP8266开发(VSCODE+PlatformIO+Arduino框架):第5篇--Blinker_MIOT_MULTI_OUTLE(点灯科技APP+小爱同学控制插座多个插孔)
  8. 帆软参数设置_帆软报表参数
  9. C语言——输入两个正整数m和n,求其最大公约数和最小公倍数
  10. Mac M1解决mach-o, but wrong architecture
  11. win10配置免密登录linux(centos7)
  12. 清华计算机系必考科目,清华大学选考科目要求
  13. 奥沙利文独家授权数字藏品正式发售 线上线下搭配多款专属福利
  14. 苹果序列号查询知识汇总
  15. 论文研读1——对抗样本(Adversarial Example)综述(2018版)
  16. 【Stream流学习】Java 8 新特性|Collectors.joining() 案例详解
  17. 2011夏天的那点事儿 ~~乌镇雷峰塔普陀山千
  18. lammps案例:npt系综练手,H2压缩模拟
  19. GoldenDict使用说明
  20. 测试用例是什么?怎么写?不会测试用例的看过来,三分钟教会你

热门文章

  1. 北京地铁新机场线列车亮相调试 设计时速160公里/小时
  2. 高新技术企业有国家级和省级之分吗?
  3. 迷宫的非递归求解 C语言 数据结构课程设计
  4. Unity入门之U2D——FlappyBird游戏制作
  5. 中国手机市场销售额破万亿,二手手机的春天来了?
  6. php微信支付金额隐藏,【php】复盘微信支付金额不正确问题—PHP浮点型计算
  7. 面试题 请简述vue双向数据绑定原理
  8. 设计一个表示学生的类:Student,该类的属性包括name、age、scores(包含语文、数学和英语三科成绩,每科成绩的类型为整数),此外该类还有3个方法。
  9. 转载:威联通TS-251+,使用emby+kodi 建立本地影音文件服务,及文件分类整理的经验
  10. Flask 处理高并发、多线程