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中的yield使用方法
Feb 11 Python
python对html代码进行escape编码的方法
May 04 Python
Python中read()、readline()和readlines()三者间的区别和用法
Jul 30 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
Django接收自定义http header过程详解
Aug 23 Python
Python3批量移动指定文件到指定文件夹方法示例
Sep 02 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
python标准库OS模块详解
Mar 10 Python
python实现扫雷小游戏
Apr 24 Python
Django 构建模板form表单的两种方法
Jun 14 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 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
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
高效的获取当前元素是父元素的第几个子元素
2013/10/15 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
使用webpack构建应用的方法步骤
2019/03/04 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
Python中类的继承代码实例
2014/10/28 Python
windows下ipython的安装与使用详解
2016/10/20 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
django实现用户登陆功能详解
2017/12/11 Python
详解Python 解压缩文件
2019/04/09 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
大四学生毕业自荐信
2013/11/07 职场文书
经典婚礼主持词
2014/03/13 职场文书
三年级学生评语
2014/04/23 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang