Python 冒泡,选择,插入排序使用实例


Posted in Python onFebruary 05, 2015

最近学习了python基础,写一下3大排序练练手:

'''

Created on 2013-8-23

@author: codegeek

'''

//冒泡排序

def bubble_sort(seq):

    for i in range(len(seq)):

        for j in range(i,len(seq)):

            if seq[j] < seq[i]:

                tmp = seq[j]

                seq[j] = seq[i]

                seq[i] = tmp

//选择排序

def selection_sort(seq):

    for i in range(len(seq)):

        position = i

        for j in range(i,len(seq)):

            if seq[position] > seq[j]:

                position = j

        if position != i:

                tmp = seq[position]

                seq[position] = seq[i]

                seq[i] = tmp

//插入排序

def insertion_sort(seq):

    if len(seq) > 1:

        for i in range(1,len(seq)):

            while i > 0 and seq[i] < seq[i-1]:

                tmp = seq[i]

                seq[i] = seq[i-1]

                seq[i-1] = tmp

                i = i - 1

//        

if __name__ == "__main__":

    print "--------bubble_sort-------------"

    seq = [22,1,33,4,7,6,8,9,11]

    bubble_sort(seq)

    print seq

    print "--------selection_sort-------------"

    seq = [88,44,33,4,7,6,8,9,11]

    selection_sort(seq)

    print seq

    print "--------insertion_sort-------------"

    seq = [777,44,33,4,7,6,1111,100,11]

    insertion_sort(seq)

    print seq

以上就是3则Python中冒泡,选择,插入排序的代码及使用方法了,希望小伙伴们能够喜欢。

Python 相关文章推荐
Python过滤函数filter()使用自定义函数过滤序列实例
Aug 26 Python
跟老齐学Python之??碌某?? target=
Sep 12 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
基于Django的ModelForm组件(详解)
Dec 07 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
Aug 10 Python
pandas计算最大连续间隔的方法
Jul 04 Python
python日期与时间戳的各种转换示例
Feb 12 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
Python接口测试数据库封装实现原理
May 09 Python
python基于turtle绘制几何图形
Jun 15 Python
Python之matplotlib绘制饼图
Apr 13 Python
Python中使用Flask、MongoDB搭建简易图片服务器
Feb 04 #Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 #Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
Feb 04 #Python
Python、Javascript中的闭包比较
Feb 04 #Python
线程和进程的区别及Python代码实例
Feb 04 #Python
Python中使用PIPE操作Linux管道
Feb 04 #Python
Python实现在Linux系统下更改当前进程运行用户
Feb 04 #Python
You might like
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
浅谈PHP中的
2016/04/23 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
Python解惑之True和False详解
2017/04/24 Python
python 实现登录网页的操作方法
2018/05/11 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python logging添加filter教程
2019/12/24 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
玲玲的画教学反思
2014/02/04 职场文书
土地转让协议书范本
2014/04/15 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
python基于turtle绘制几何图形
2021/06/15 Python
python图片灰度化处理的几种方法
2021/06/23 Python
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis