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 相关文章推荐
在Python中使用模块的教程
Apr 27 Python
Python自动调用IE打开某个网站的方法
Jun 03 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
Pycharm更换python解释器的方法
Oct 29 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
python画图把时间作为横坐标的方法
Jul 07 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
Django 删除upload_to文件的步骤
Mar 30 Python
用python给csv里的数据排序的具体代码
Jul 17 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
python简单实现插入排序实例代码
Dec 16 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
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
javascript读取RSS数据
2007/01/20 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
Python+Wordpress制作小说站
2017/04/14 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
制药工程专业毕业生推荐信
2013/12/24 职场文书
学习委员自我鉴定
2014/01/13 职场文书
读书之星事迹材料
2014/05/12 职场文书
上党课的心得体会
2014/09/02 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
检讨书格式
2019/04/25 职场文书