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实现SSH远程登陆,并执行命令的方法(分享)
May 08 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
老生常谈python的私有公有属性(必看篇)
Jun 09 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
Python登录注册验证功能实现
Jun 18 Python
详解python读取image
Apr 03 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
Python OpenCV读取中文路径图像的方法
Jul 02 Python
Python基于pyjnius库实现访问java类
Jul 31 Python
python利用tkinter实现图片格式转换的示例
Sep 28 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
php的curl实现get和post的代码
2008/08/23 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
繁简字转换功能
2006/07/19 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
Python中使用PIPE操作Linux管道
2015/02/04 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python partial函数原理及用法解析
2019/12/11 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
我的求职计划书
2014/01/10 职场文书
一年级语文教学反思
2014/02/13 职场文书
给学校建议书范文
2014/05/13 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript