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实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
python中list常用操作实例详解
Jun 03 Python
Python开发的实用计算器完整实例
May 10 Python
Python实现的堆排序算法示例
Apr 29 Python
python实现录音小程序
Oct 26 Python
Python利用递归实现文件的复制方法
Oct 27 Python
python中的协程深入理解
Jun 10 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 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生成随机颜色方法汇总
2014/12/03 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
JavaScript 密码强度判断代码
2009/09/05 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
python3设计模式之简单工厂模式
2017/10/17 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
化工工艺专业求职信
2013/09/22 职场文书
工厂厂长岗位职责
2013/11/08 职场文书
怎么写有吸引力的自荐信
2013/11/17 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
教师听课评语大全
2014/12/31 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
催款通知书范文
2015/04/17 职场文书
活动经费申请报告
2015/05/15 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫