Python实现冒泡,插入,选择排序简单实例


Posted in Python onAugust 18, 2014

本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下:

# -*- coding: cp936 -*-
#python插入排序
def insertSort(a):
  for i in range(len(a)-1):
    #print a,i 
    for j in range(i+1,len(a)):
      if a[i]>a[j]:
        temp = a[i]
        a[i] = a[j]
        a[j] = temp
  return a

#Python的冒泡排序  
def bubbleSort(alist):
  for passnum in range(len(alist)-1,0,-1):
    #print alist,passnum
    for i in range(passnum):
      if alist[i]>alist[i+1]:
        temp = alist[i]
        alist[i] = alist[i+1]
        alist[i+1] = temp
  return alist

#Python的选择排序 
def selectionSort(alist):
  for i in range(len(alist)-1,0,-1):
    maxone = 0
    for j in range(1,i+1):
      if alist[j]>alist[maxone]:
        maxone = j
    temp = alist[i] 
    alist[i] = alist[maxone]
    alist[maxone] = temp 
  return alist

alist = [54,26,93,17,77,31,44,55,20]
#print bubbleSort(alist)
alist = [54,26,93,17,77,31,44,55,20]
print selectionSort(alist)

感兴趣的朋友可以动手测试一下本文实例,相信会有新的收获。

Python 相关文章推荐
python简单程序读取串口信息的方法
Mar 13 Python
基于Python实现的百度贴吧网络爬虫实例
Apr 17 Python
python中input()与raw_input()的区别分析
Feb 27 Python
利用python发送和接收邮件
Sep 27 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
简单了解Python matplotlib线的属性
Jun 29 Python
Python一行代码解决矩阵旋转的问题
Nov 30 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
Python算法之栈(stack)的实现
Aug 18 #Python
Python实现partial改变方法默认参数
Aug 18 #Python
Python实现发送email的几种常用方法
Aug 18 #Python
Python内置数据类型详解
Aug 18 #Python
Python3基础之输入和输出实例分析
Aug 18 #Python
一个计算身份证号码校验位的Python小程序
Aug 15 #Python
基于Python的身份证号码自动生成程序
Aug 15 #Python
You might like
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
vue实现通讯录功能
2018/07/14 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
python制作图片缩略图
2019/04/30 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
应聘自荐书
2013/10/08 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
七一建党日演讲稿
2014/09/05 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL