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中的重载
Nov 11 Python
python 同时运行多个程序的实例
Jan 07 Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
python调用webservice接口的实现
Jul 12 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
python多进程重复加载的解决方式
Dec 13 Python
Python基于traceback模块获取异常信息
Jul 23 Python
python opencv肤色检测的实现示例
Dec 21 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
python+opencv实现视频抽帧示例代码
Jun 11 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 fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
python处理PHP数组文本文件实例
2014/09/18 Python
Python 转义字符详细介绍
2017/03/21 Python
python实现发送邮件功能
2017/07/22 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
pytorch 模型可视化的例子
2019/08/17 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
tensorflow求导和梯度计算实例
2020/01/23 Python
python IDLE添加行号显示教程
2020/04/25 Python
html5唤起app的方法
2017/11/30 HTML / CSS
德国户外商店:eXXpozed
2020/07/25 全球购物
女方婚礼新郎答谢词
2014/01/11 职场文书
《童年的发现》教学反思
2014/02/14 职场文书
会计工作决心书
2014/03/11 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书