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检测网页是否有日常链接
Jun 03 Python
Python实现的数据结构与算法之双端队列详解
Apr 22 Python
详解python中requirements.txt的一切
Mar 03 Python
Django REST为文件属性输出完整URL的方法
Dec 18 Python
Python 中字符串拼接的多种方法
Jul 30 Python
Django Rest framework之权限的实现示例
Dec 17 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
Django 路由控制的实现
Jul 17 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
python机器学习库xgboost的使用
Jan 20 Python
用python-webdriver实现自动填表的示例代码
Jan 13 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
php打造属于自己的MVC框架
2012/03/07 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
Dom在ajax技术中的作用说明
2010/10/25 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
Python内置函数delattr的具体用法
2017/11/23 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
学python需要去培训机构吗
2020/07/01 Python
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
社区工作者思想汇报
2014/01/13 职场文书
运动会解说词100字
2014/01/31 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
爱情保证书大全
2014/04/29 职场文书
微笑服务演讲稿
2014/05/13 职场文书
经管应届生求职信范文
2014/05/18 职场文书
喋血孤城观后感
2015/06/08 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
Python语言中的数据类型-序列
2022/02/24 Python