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基础语法(Python基础知识点)
Feb 28 Python
深入浅出学习python装饰器
Sep 29 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
python中多层嵌套列表的拆分方法
Jul 02 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
Jul 25 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
python异步存储数据详解
Mar 19 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
在python中实现求输出1-3+5-7+9-......101的和
Apr 02 Python
python实现数字炸弹游戏
Jul 17 Python
python如何删除列为空的行
Jul 17 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 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
使用数据库保存session的方法
2006/10/09 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
用javascript实现页面打印的三种方法
2007/03/05 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
pybind11在Windows下的使用教程
2019/07/04 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
尊师重教主题班会
2015/08/14 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
golang语言指针操作
2022/04/14 Golang