Python实现选择排序


Posted in Python onJune 04, 2017

选择排序:

选择排序(Selection sort)是一种简单直观的 排序算法 。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

Python 实现:

# selection_sort.py
 def selection_sort(arr):
   count = len(arr)
   for i in range(count-1):  # 交换 n-1 次
     min = i
     # 找最小数
     for j in range(i, count):
       if arr[min] > arr[j]:
         min = j
     arr[min], arr[i] = arr[i], arr[min]  # 交换
   return arr
 
 my_list = [6, 23, 2, 54, 12, 6, 8, 100]
 print(selection_sort(my_list))
Python 相关文章推荐
python获得文件创建时间和修改时间的方法
Jun 30 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
Python实现遍历目录的方法【测试可用】
Mar 22 Python
python截取两个单词之间的内容方法
Dec 25 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
Jan 04 Python
深入浅析python 中的self和cls的区别
Jun 20 Python
OpenCV读取与写入图片的实现
Oct 13 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
python数据分析之用sklearn预测糖尿病
Apr 22 Python
Python使用pymysql小技巧
Jun 04 #Python
Python常见异常分类与处理方法
Jun 04 #Python
Python实现Linux的find命令实例分享
Jun 04 #Python
安装Python和pygame及相应的环境变量配置(图文教程)
Jun 04 #Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 #Python
python snownlp情感分析简易demo(分享)
Jun 04 #Python
Python 调用Java实例详解
Jun 02 #Python
You might like
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
js left,right,mid函数
2008/06/10 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
Python二分查找详解
2015/09/13 Python
python监控文件并且发送告警邮件
2018/06/21 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
Python 如何展开嵌套的序列
2020/08/01 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
MADE法国:提供原创设计师家具
2018/09/18 全球购物
幼师小班个人总结
2015/02/12 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL