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 20 Python
Django自定义manage命令实例代码
Feb 11 Python
python中for用来遍历range函数的方法
Jun 08 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
Mar 22 Python
python3下载抖音视频的完整代码
Jun 05 Python
记录Python脚本的运行日志的方法
Jun 05 Python
Python用字典构建多级菜单功能
Jul 11 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
Python函数对象与闭包函数
Apr 13 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
DISCUZ 分页代码
2007/01/02 PHP
PHP字符串处理的10个简单方法
2010/06/30 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
destoon之一键登录设置
2014/06/21 PHP
php常用数学函数汇总
2014/11/21 PHP
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
python模块常用用法实例详解
2019/10/17 Python
python关闭占用端口方式
2019/12/17 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Python LMDB库的使用示例
2021/02/14 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
高一历史教学反思
2014/01/13 职场文书
党员群众路线对照检查材料
2014/08/31 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
家属联谊会致辞
2015/07/31 职场文书
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技