Python选择排序、冒泡排序、合并排序代码实例


Posted in Python onApril 10, 2015

前两天刚装了python 3.1.1, 禁不住技痒写点code。
1.选择排序

>>> def SelSort(L):

    length=len(L)

    for i in range(length-1):

        minIdx=i

        minVal=L[i]

        j=i+1

        while j<length:

            if minVal>L[j]:

                minIdx=j

                minVal=L[j]

            j=j+1

        L[i],L[minIdx]=L[minIdx],L[i]

    return L

2.冒泡排序

>>> def bubSort(L):

    swapped=True

    while swapped:

        swapped=False

        for i in range(len(L)-1):

            if L[i]>L[i+1]:

                L[i],L[i+1]=L[i+1],L[i]

                swapped=True

    return L

3.合并排序
>>> def merge(left,right):

    result=[]

    i,j=0,0

    while i<len(left) and j<len(right):

        if left[i]<=right[j]:

            result.append(left[i])

            i=i+1

        else:

            result.append(right[j])

            j=j+1

    result+=left[i:]

    result+=right[j:]

    return result
>>> def mergesort(L):

    if len(L) < 2:

        return L

    else:

        middle = int(len(L)/2)

        left = mergesort(L[:middle])

        right = mergesort(L[middle:])

        return merge(left, right)

Python 相关文章推荐
python通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
介绍Python的Urllib库的一些高级用法
Apr 30 Python
用Python遍历C盘dll文件的方法
May 06 Python
Python输出汉字字库及将文字转换为图片的方法
Jun 04 Python
python使用pymysql实现操作mysql
Sep 13 Python
python实现录音小程序
Oct 26 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
如何运行带参数的python脚本
Nov 15 Python
Python3查找列表中重复元素的个数的3种方法详解
Feb 13 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
python实现文法左递归的消除方法
May 22 Python
Python字符串中查找子串小技巧
Apr 10 #Python
简单介绍Ruby中的CGI编程
Apr 10 #Python
详细介绍Ruby中的正则表达式
Apr 10 #Python
对于Python的Django框架部署的一些建议
Apr 09 #Python
Python线程中对join方法的运用的教程
Apr 09 #Python
在Python的Flask框架下使用sqlalchemy库的简单教程
Apr 09 #Python
详解Python中的正则表达式的用法
Apr 09 #Python
You might like
PHP图片上传类带图片显示
2006/11/25 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
php创建多级目录的方法
2015/03/24 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
python实现感知器算法详解
2017/12/19 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
python如何实现图片压缩
2020/09/11 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
物流管理专业职业生涯规划书
2014/01/06 职场文书
消防安全管理制度
2014/02/01 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
主持人演讲稿
2014/05/13 职场文书
消防安全宣传标语
2014/06/07 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
开除员工通知
2015/04/22 职场文书
小学中队活动总结
2015/05/11 职场文书
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏
Python数组变形的几种实现方法
2022/05/30 Python