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 相关文章推荐
使用go和python递归删除.ds store文件的方法
Jan 22 Python
Python计算三角函数之asin()方法的使用
May 15 Python
CentOS安装pillow报错的解决方法
Jan 27 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
Python3连接SQLServer、Oracle、MySql的方法
Jun 28 Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 Python
pytorch SENet实现案例
Jun 24 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 Python
python中_del_还原数据的方法
Dec 09 Python
python spilt()分隔字符串的实现示例
May 21 Python
Python与C++中梯度方向直方图的实现
Mar 17 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
咖啡的植物学知识
2021/03/03 咖啡文化
用PHP来计算某个目录大小的方法
2014/04/01 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
JavaScript学习笔记之数组的增、删、改、查
2016/03/23 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
python绘图方法实例入门
2015/05/19 Python
详解Python的Django框架中的中间件
2015/07/24 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
2018/06/19 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python英语单词测试小程序代码实例
2019/09/09 Python
django 简单实现登录验证给你
2019/11/06 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
python中append函数用法讲解
2020/12/11 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
中班中秋节活动反思
2014/02/18 职场文书
初中学生期末评语
2014/04/24 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书