Python实现的选择排序算法示例


Posted in Python onNovember 29, 2017

本文实例讲述了Python实现的选择排序算法。分享给大家供大家参考,具体如下:

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

选择排序每次只记录最大数的索引值. 类似于冒泡排序, 也是要比较n-1次, 区别是冒泡排序每次都交换, 选择排序只在最后比较完后才进行交换

示例代码:

#!/usr/bin/env python
# coding:utf-8
def selectSort(nums):
  for i in range(len(nums)):
    max_index = 0
    for j in range(len(nums)-i):
      if nums[max_index] < nums[j]:
        max_index = j
    nums[max_index], nums[len(nums)-i-1] = nums[len(nums)-i-1], nums[max_index]
  return nums
nums = [6,2,54435,3141]
print "三水点靠木测试结果:"
print selectSort(nums)

运行结果:

Python实现的选择排序算法示例

PS:关于排序算法的详细说明还可参考本站在线工具:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具
http://tools.3water.com/aideddesign/paixu_ys

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
跟老齐学Python之list和str比较
Sep 20 Python
零基础写python爬虫之HTTP异常处理
Nov 05 Python
Python 的 Socket 编程
Mar 24 Python
在Django中创建第一个静态视图
Jul 15 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
python3使用matplotlib绘制条形图
Mar 25 Python
Python 列表去重去除空字符的例子
Jul 20 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
Django用户身份验证完成示例代码
Apr 03 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
利用python做数据拟合详情
Nov 17 Python
Python实现的桶排序算法示例
Nov 29 #Python
[原创]教女朋友学Python(一)运行环境搭建
Nov 29 #Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
Nov 29 #Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 #Python
JSONLINT:python的json数据验证库实例解析
Nov 28 #Python
详解如何使用Python编写vim插件
Nov 28 #Python
从头学Python之编写可执行的.py文件
Nov 28 #Python
You might like
解析php中die(),exit(),return的区别
2013/06/20 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python写入中英文字符串到文件的方法
2015/05/06 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
Gap英国官网:Gap UK
2018/07/18 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
天游软件面试
2013/11/23 面试题
仓库理货员岗位职责
2013/12/18 职场文书
房产销售经理职责
2013/12/20 职场文书
本科生的职业生涯规划范文
2014/01/09 职场文书
财务科科长岗位职责
2014/03/10 职场文书
家长寄语大全
2014/04/02 职场文书
反对邪教标语
2014/06/30 职场文书
项目申请汇报材料
2014/08/16 职场文书
mysql sock 文件解析及作用讲解
2022/07/15 MySQL