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在多玩图片上下载妹子图的实现代码
Aug 13 Python
创建pycharm的自定义python模板方法
May 23 Python
Python从数据库读取大量数据批量写入文件的方法
Dec 10 Python
python实现远程控制电脑
May 23 Python
python正则爬取某段子网站前20页段子(request库)过程解析
Aug 10 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
Python如何执行精确的浮点数运算
Jul 31 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
关于Python中*args和**kwargs的深入理解
Aug 07 Python
一些让Python代码简洁的实用技巧总结
Aug 23 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页面局部刷新功能的实现小结
2013/06/21 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
python pygame实现方向键控制小球
2019/05/17 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
python线程里哪种模块比较适合
2020/08/02 Python
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
Exception类的常用方法
2012/06/16 面试题
教育实习生的自我评价分享
2013/11/21 职场文书
饮料业务员岗位职责
2013/12/15 职场文书
yy生日主持词
2014/03/20 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
党建目标管理责任书
2014/07/25 职场文书
争先创优公开承诺书
2014/08/30 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
超市收银员岗位职责
2015/04/07 职场文书
食品药品安全责任书
2015/05/11 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
Python字符串格式化方式
2022/04/07 Python