排序思想:
第一次从arr[0]到arr[n-1]中选取最小值,与arr[0]交换。第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换…第i次从arr[i-1]到arr[n-1]中选取最小值,与arr[i-1]交换…第n-1次从arr[n-2]到arr[n-1]中选取最小值,与arr[i-2]交换。总共通过n-1次,得到一个按排序从小到大排列的有序序列。

排序规则:
1、选择排序一共有 数组的大小-1轮排序
2、每轮排序,又是一个循环,循环规则:
(1)先假定当前数是最小值
(2)然后和后面每个数进行比较,如果发现有比当前数更小的数,就重新确定最小的数,并且得到下标
(3)当遍历数组的最后时,就得到本轮最小数和下标
(4)进行交换

代码实现:

public class SelectedSort {public static void main(String[] args) {// TODO 自动生成的方法存根//定义一个测试的排序数组int[] arr= {3,9,-1,10,-2};int min=0;  //存储最小值的下标int temp=0; //存储中间变量int j=0;for(int i=0;i<arr.length-1;i++) {min=i;  //假设该下标为最小值的下标j=i;for(;j<arr.length;j++) {if(arr[min]>arr[j]) {  //选取最小值,得到最小值得下标min=j;}}//进行交换temp=arr[i];arr[i]=arr[min];arr[min]=temp;System.out.printf("第%d次排序的结果是: \n",i+1);System.out.println(Arrays.toString(arr));}}}

测试结果:
第1次排序的结果是:
[-2, 9, -1, 10, 3]
第2次排序的结果是:
[-2, -1, 9, 10, 3]
第3次排序的结果是:
[-2, -1, 3, 10, 9]
第4次排序的结果是:
[-2, -1, 3, 9, 10]

选择排序(JAVA实现)相关推荐

  1. 选择排序--Java

    选择排序:合适的元素放在合适的位置 1.每一次遍历的过程中,都假定第一个索引处的元素是最小值,和其他索引处的值依次进行比较,如果当前索引处的值大于其他某个索引处的值,则假定其他某个索引处的只为最小值, ...

  2. 选择排序java从小到大代码_java中选择排序与归并排序的内容,详细解析

    上次我们已经为大家介绍过java中插入.分治和快速排序的内容,今天再来为大家介绍一下java中选择排序与归并排序的具体内容,并且通过实际的代码为大家解析. 首先我们需要了解的是,选择排序也是一种简单直 ...

  3. 选择排序java代码_JAVA简单选择排序算法原理及实现

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

  4. 使用Java代码实现选择排序Java

    1.算法思想: 首先找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素,那么它就和自己交换.如果只剩下最后一个元素,就没必要排了,它就是最大的).再次在剩下的元 ...

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

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

  6. java选择排序解释_选择排序

    号内回复数据结构,获取整套算法视频 本文作者:skywang12345 欢迎点击下方阅读原文 选择排序介绍 选择排序(Selection sort)是一种简单直观的排序算法. 它的基本思想是:首先在未 ...

  7. 【排序算法】选择排序(Selection sort)

    选择排序(Selection sort)是一种简单直观的排序算法. 选择排序介绍 它的基本思想是: 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元 ...

  8. 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序...

    先推荐一篇关于排序算法的文章:http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html 本文思路部分来源于上篇文章,但测得的结果似乎 ...

  9. 【Java常识】7.0 数组实现冒泡排序、选择排序和二分查找

    1.0 冒泡排序原理 冒泡排序就是:轻的上浮,沉的下降.小的往前排,大的往后走. 原理:若一个N个元素的数组,两个相邻位置比较,如果前面的元素比后面的元素大就换位置. 每一次比较,都是相对最沉的到位. ...

  10. 选择排序算法(基于Java实现)

    title: 选择排序算法(基于Java实现) tags: 选择算法 选择排序算法原理及代码实现: 一.选择排序算法的原理 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间.但是选择 ...

最新文章

  1. iOS 自定义双向滑块Slider
  2. .Net转Java自学之路—基础巩固篇十八(正则)
  3. push的时候 出现卡顿现象
  4. c语言铁道,C语言程序设计(方少卿) 铁道C第8章(修订版).pdf
  5. 记录一次withRouter的实际应用场景
  6. 你还在使用fastjson,可以尝试jsoncode
  7. Ueditor结合七牛云及百度云存储(JAVA版,ueditor-1.4.3)实现图片文件上传
  8. iOS开发中经常用的实用代码合集
  9. java usb camera_Android usb camera设备添加
  10. 电动自行车出租管理系统VS开发sqlserver数据库web结构c#编程计算机网页
  11. V-layout 卡顿消除
  12. MTK最新工具(刷机,写号,升级等)合集含工具源码
  13. 本地计算机添加网络打印机共享,共享好的打印机,如何添加到本地来使用?-win7添加打印机...
  14. 关于mysql union 之后 排序乱掉
  15. 机器学习课堂笔记-作业二基本实现思路
  16. 题9.5:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个 学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓 名、3门课程成绩、平均分数)。
  17. Java的 网络编程
  18. matlab文献资料,matlab文献资料查找方法及资源汇总
  19. tor 安装及使用教程
  20. 工作流相关讲解 转载

热门文章

  1. 如何证明一个问题是NP-hard(NP-complete)
  2. OC有符号16进制整形转10进制整形
  3. 转载:OpenGL显示文字
  4. 浅谈异或问题及其推论
  5. Java中的取整方法
  6. 双目视觉三维重建点云分层,断层、放射,散射,锥形
  7. 计算机安全反思报告书,计算机安全使用常识培训反思..doc
  8. 获取优酷视频信息json的接口
  9. 给大家分享一个实用的截图软件FSCapture v9.3
  10. Biotin-PEG-NH2,Biotin-PEG-amine,生物素-PEG-氨基材料改性用化学试剂