Python实现的选择排序算法原理与用法实例分析


Posted in Python onNovember 22, 2017

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

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

比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。

具体实现代码如下:

#-*- coding: UTF-8 -*-
import numpy as np
def SelectSort(a):
  for i in xrange(0,a.size):
    min = a[i]
    p = i
    for j in xrange(i+1,a.size ):
      if min > a[j]:
        min = a[j]
        p = j
    if p != i:
      a[i], a[p] = a[p], a[i]
if __name__ == '__main__':
  a = np.random.randint(0, 10, size = 10)
  print "Before sorting..."
  print "---------------------------------------------------------------"
  print a
  print "---------------------------------------------------------------"
  SelectSort(a)
  print "After sorting..."
  print "---------------------------------------------------------------"
  print a
  print "---------------------------------------------------------------"

运行结果:

Python实现的选择排序算法原理与用法实例分析

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

Python 相关文章推荐
python版本的读写锁操作方法
Apr 25 Python
Python开发的HTTP库requests详解
Aug 29 Python
Python 多进程和数据传递的理解
Oct 09 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
python 读写中文json的实例详解
Oct 29 Python
对python实现模板生成脚本的方法详解
Jan 30 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 #Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 #Python
python不换行之end=与逗号的意思及用途
Nov 21 #Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 #Python
pycharm远程调试openstack代码
Nov 21 #Python
Pycharm远程调试openstack的方法
Nov 21 #Python
pycharm远程调试openstack的图文教程
Nov 21 #Python
You might like
留言板翻页的实现详解
2006/10/09 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
浅谈js中的闭包
2015/03/16 Javascript
九种原生js动画效果
2015/11/11 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
node.js通过url读取文件
2020/10/16 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
Python进行数据科学工作的简单入门教程
2015/04/01 Python
Python+django实现简单的文件上传
2016/08/17 Python
Python标准库sched模块使用指南
2017/07/06 Python
python计算日期之间的放假日期
2018/06/05 Python
python后端接收前端回传的文件方法
2019/01/02 Python
Python3分析处理声音数据的例子
2019/08/27 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
Python 解析xml文件的示例
2020/09/29 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
药学专业个人的自我评价
2013/12/31 职场文书
校园招聘策划书
2014/01/09 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
公司给客户的感谢信
2015/01/23 职场文书
紧急迫降观后感
2015/06/15 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
Python基础详解之邮件处理
2021/04/28 Python
mysql中between的边界,范围说明
2021/06/08 MySQL
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript