Python 实现选择排序的算法步骤


Posted in Python onApril 22, 2018

选择排序算法步骤:

找到数组中最小的那个元素中,

将它和数组的第一个元素交换位置,

在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置,

如此往复,知道将整个数组排序。

逐步分析:

假设一个数组有 6 个元素,
[5, 1, 4, 3, 2, 6]
第 1 个元素为 5,与剩余 5 个元素相比,1 是最小的元素,所以 5 和 1 交换位置,
[1, 5, 4, 3, 2, 6]
第 2 个元素为 5,与剩余 4 个元素相比, 2 是最小的元素,所以 5 和 2 交换位置,
[1, 2, 4, 3, 5, 6]
第 3 个元素为 4,与剩余 3 个元素相比, 3 是最小的元素,所以 4 和 3 交换位置,
[1, 2, 3, 4, 5, 6]
不断重复直到排好序。

def select_sort(arr):
  # 索引从 0 到 n-2
  for i in range(len(arr) - 1):
    # 最小元素的索引
    min = i
    # min 与从 i+1 到 n 的元素比较
    j = i + 1
    while j < len(arr):
      if arr[min] > arr[j]:
        # 找到最小的元素
        min = j
      j += 1
    # 交换位置
    arr[i], arr[min] = arr[min], arr[i]


a = [5, 1, 4, 3, 2, 6]
select_sort(a)
print(a)

总结

以上所述是小编给大家介绍的Python 实现选择排序的算法步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
小米5s微信跳一跳小程序python源码
Jan 08 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
windows下python和pip安装教程
May 25 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
python常用数据重复项处理方法
Nov 22 Python
tensorboard显示空白的解决
Feb 15 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
Django设置Postgresql的操作
May 14 Python
python tqdm实现进度条的示例代码
Nov 10 Python
PyQt QMainWindow的使用示例
Mar 24 Python
实例详解Python的进程,线程和协程
Mar 13 Python
python学习基础之循环import及import过程
Apr 22 #Python
Python中循环引用(import)失败的解决方法
Apr 22 #Python
Python 数据处理库 pandas进阶教程
Apr 21 #Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 #Python
将python代码和注释分离的方法
Apr 21 #Python
Python基于百度AI的文字识别的示例
Apr 21 #Python
python实现随机调用一个浏览器打开网页
Apr 21 #Python
You might like
在PHP中设置、使用、删除Cookie的解决方法
2013/05/06 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
js使用递归解析xml
2014/12/12 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
Python中变量交换的例子
2014/08/25 Python
python发送HTTP请求的方法小结
2015/07/08 Python
Python中atexit模块的基本使用示例
2015/07/08 Python
PyQt5实现简易电子词典
2019/06/25 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
元旦晚会邀请函
2014/02/01 职场文书
行政副总岗位职责
2014/02/23 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
商务邀请函
2015/01/30 职场文书
监理中标通知书
2015/04/16 职场文书
教育读书笔记
2015/07/02 职场文书
环境卫生标语
2015/08/03 职场文书