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开发常用的一些开源Package分享
Feb 14 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
pytorch构建网络模型的4种方法
Apr 13 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
简单了解python 生成器 列表推导式 生成器表达式
Aug 22 Python
Python openpyxl 插入折线图实例
Apr 17 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
Python基于locals返回作用域字典
Oct 17 Python
Python+Pillow+Pytesseract实现验证码识别
May 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
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
一个加载js文件的小脚本
2007/06/28 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python实现自动重启本程序的方法
2015/07/09 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
django model通过字典更新数据实例
2020/04/01 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
手机配件第一品牌:ZAGG
2017/05/28 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
幼儿如何来做好自我评价
2013/11/05 职场文书
法务专员岗位职责
2014/01/02 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
青年志愿者活动方案
2014/08/17 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
写景作文评语集锦
2014/12/25 职场文书