排序算法的中心思想就是每次从待排序的数组中获取一个最小值或者最大值,将每次获取的最大值或者最小值放到新的数组中形成一个有序列表。

具体做法是:1 先将数组中的第一位假设成最小值min,拿它与数组中的其他数据作比较,发现更小值则更新min的值为更小值

2 依次类推,将产生最终的最小值min

3 将min与数组第一位的位置进行交换,使最小值排在第一位

4 以此类推,将产生一个新的有序数组

举个例子:

假设有数组int[] x=[8,2,3,0,1]

第一轮先获取最小值0:

1 预先设置第一位为最小值,min = x[0]。用min与下一位进行对比,发现min>x[1],这个时候要将2作为最小值,即min=x[1]=2;

2 以此类推,始终保持最小值min与余下的数据进行比较,将产生最终的min

3 将最后产生的min与数组的第一个元素互换位置,使最小数在第一轮排序过后排在第一位

代码如下:

public void xuazeList(int[] test){
for(int i = 0;i<test.length;i++){
int min = test[i];
int min_index = i;
for(int j = i;j<test.length;j++){
if(min>test[j]){
min =test[j];
min_index = j;
}
}
if(min_index!=i){
int temp =0;
temp=test[i];
test[i] = test[min_index];
test[min_index] = temp;
}

}

转载于:https://www.cnblogs.com/henkun010/p/6722721.html

算法系列之选择排序算法相关推荐

  1. 排序算法系列:选择排序算法

    概述 这是一个相对简单的排序算法.为什么这么说呢?因为不需要什么思考,你就可以掌握并使用它. 版权说明 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 本文作者:Q-WHai ...

  2. 排序算法:简单选择排序算法实现及分析

    简单选择排序算法介绍 简单选择排序(Simple Selection Sort)就是通过n-1次关键字排序之间的比较,从n-i+1个记录中选择关键字最小的记录,并和第i(1<=i<=n)记 ...

  3. 排序算法系列:Shell 排序算法

    概述 希尔排序(Shell Sort)是 D.L.Shell 于 1959 年提出来的一种排序算法,在这之前排序算法的时间复杂度基本都是 O(n2n^{2}n2) 的,希尔排序算法是突破这个时间复杂度 ...

  4. python算法与数据结构-选择排序算法(33)

    阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...

  5. php和python的选择排序算法,图文讲解选择排序算法的原理及在Python中的实现

    def sort_choice(numbers, max_to_min=True): """ 我这没有按照标准的选择排序,假设列表长度为n,思路如下: 1.获取最大值x, ...

  6. python算法与数据结构-选择排序算法

    代码如下所示: # 定义选择排序函数 def select_sort(list):# 计算需要排序的列表元素个数n = len(list)# 需要n-1次选择操作for j in range(n - ...

  7. C语言实现选择排序——简单选择排序算法

    C语言实现简单选择排序 文章目录 C语言实现简单选择排序 简单选择排序算法 1.交换操作 2.简单选择排序算法实现 项目完整代码 运行效果图 简单选择排序算法 1.交换操作 //交换实现 void s ...

  8. c语言选择排序法程序设计,C语言基础之选择排序算法和代码

    在利用C语言进行编写程序的过程中,我们会常常通过算法及其代码来进行相关程序的编写工作.今天课课家笔者先给大家介绍C语言算法中的选择排序算法以及代码.那么到底什么是选择排序算法呢?下面由笔者慢慢道来. ...

  9. 选择排序算法,只需这篇文章就够了

    一.说在前面 一直想写一些简单易懂的文章,因为平时看的很多的书籍或者文章都是看着很难受的感觉,当然,这并不是说书籍写的不好,只是说对于一些没有太多基础或者基础不是很好的来说,相对来说还是比较难以理解的 ...

最新文章

  1. 1.22 实例:正则表达式验证电话号码
  2. (COPY)document.all和document.getElementById用法 document.all用法:
  3. python编辑公式_分分钟甩Word几条街,Python编辑公式竟可以如此简单
  4. mysql 索引实战
  5. 小米真蓝牙耳机说明书_小米真无线蓝牙耳机Air2 SE评测:仅需169元,享受随心畅听体验...
  6. java web环境配置_JAVA Web开发环境配置
  7. xp系统服务器dns怎么设置在哪里设置,xp系统DNS怎么设置 DNS设置步骤
  8. 原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
  9. python实现抢劵_双十一福利丨机械键盘、蓝牙音箱送送送!Python/UI/Unity多场微课解剖双十一套路!...
  10. 23种设计模式及案例整理分享(建议收藏)
  11. oracle中分析函数range值范围,Oracle实战4(分析函数)
  12. SM4算法java代码实现
  13. html页面小宠物代码大全,宠物店网页设计html代码
  14. wget下载的文件在哪里
  15. 【推荐】工业互联网资料合集
  16. Hutool你值得拥有,吃相不要太难看
  17. 简单的选课系统(6)——选课界面和管理员界面
  18. 2017-09-04考试情况总结
  19. 2021/1/26-每日三题第33弹:皮皮虾,我们走 !你知道什么是面向对象编程和面向过程编程吗 ???
  20. 常用Dos命令以及英文全称(有道解读)

热门文章

  1. [转]:tbox中数据库的使用
  2. 天天动听 半透明Menu效果
  3. Java 内置的数据类型
  4. install pymssql on centos
  5. c++ max函数_「C/C++」函数:定义、调用、参数传递
  6. java中getlast_Java ArrayDeque getLast()用法及代码示例
  7. 一天测血压的最佳时间_高血压病患者,一天之内在什么时间点测血压最好?
  8. python udp通信_Python实现UDP程序通信过程图解
  9. 分布式事务与2PC、3PC理论详解
  10. input组件android,React-Native TextInput组件详解及实例代码