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 相关文章推荐
pycharm安装图文教程
May 02 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
python从入门到精通 windows安装python图文教程
May 18 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
python实现画出e指数函数的图像
Nov 21 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 Python
Python+PyQt5实现灭霸响指功能
May 25 Python
用Python实现一个打字速度测试工具来测试你的手速
May 28 Python
实操Python爬取觅知网素材图片示例
Nov 27 Python
Python实现简单得递归下降Parser
May 02 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 Undefined index的问题
2009/06/01 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
python计算N天之后日期的方法
2015/03/31 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
python将时分秒转换成秒的实例
2019/12/07 Python
Python接口测试get请求过程详解
2020/02/28 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
python中altair可视化库实例用法
2021/01/26 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
国培计划培训感言
2014/03/11 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
士兵突击观后感
2015/06/16 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书