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 strip lstrip rstrip使用方法
Sep 06 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
python复制文件到指定目录的实例
Apr 27 Python
Python字符串逆序输出的实例讲解
Feb 16 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
基于python实现文件加密功能
Jan 06 Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
Python map及filter函数使用方法解析
Aug 06 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 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
计数器详细设计
2006/10/09 PHP
使用PHP函数scandir排除特定目录
2014/06/12 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
js实现缓动动画
2020/11/25 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
Django实现文件上传下载
2019/10/06 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
Python流程控制常用工具详解
2020/02/24 Python
Python调用JavaScript代码的方法
2020/10/27 Python
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
企业治理工作自我评价
2013/09/26 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
初中学生操行评语
2014/12/26 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
给numpy.array增加维度的超简单方法
2021/06/02 Python
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
MySQL中in和exists区别详解
2021/06/03 MySQL
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis