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 创建子进程模块subprocess详解
Apr 08 Python
Pandas实现数据类型转换的一些小技巧汇总
May 07 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
May 17 Python
Python for循环中的陷阱详解
Jul 13 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
利用python实现冒泡排序算法实例代码
Dec 01 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
详解Python 循环嵌套
Jul 09 Python
python自动提取文本中的时间(包含中文日期)
Aug 31 Python
python switch 实现多分支选择功能
Dec 21 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 Python
Python爬虫基础初探selenium
May 31 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
JavaScript事件列表解说
2006/12/22 Javascript
基于jquery的动态创建表格的插件
2011/04/05 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
使用Python中的cookielib模拟登录网站
2015/04/09 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python实现mean-shift聚类算法
2020/06/10 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
Python如何将字符串转换为日期
2020/07/31 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
实习医生自我评价
2013/09/22 职场文书
老师对学生的评语
2014/04/18 职场文书
纪检监察立案决定书
2015/06/24 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript
Nginx跨域问题解析与解决
2022/08/05 Servers
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS