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 相关文章推荐
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 Python
Web服务器框架 Tornado简介
Jul 16 Python
Python新手们容易犯的几个错误总结
Apr 01 Python
Python实现的递归神经网络简单示例
Aug 11 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
Python转换时间的图文方法
Jul 01 Python
django的csrf实现过程详解
Jul 26 Python
softmax及python实现过程解析
Sep 30 Python
python求质数列表的例子
Nov 24 Python
Python实现银行账户资金交易管理系统
Jan 03 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实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
javascript中this的四种用法
2015/05/11 Javascript
webpack入门必知必会
2017/01/16 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
详解Python编程中包的概念与管理
2015/10/16 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
浅析Python迭代器的高级用法
2020/07/16 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
在线服装零售商:SheIn
2016/07/22 全球购物
TCP/IP模型的分界线
2012/12/01 面试题
人事专员岗位职责
2013/11/20 职场文书
厂区绿化方案
2014/05/08 职场文书
技校毕业生自荐信
2014/06/03 职场文书
观看信仰心得体会
2014/09/04 职场文书
给上级领导的感谢信
2015/01/22 职场文书
辞职信格式模板
2015/02/27 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
Django展示可视化图表的多种方式
2021/04/08 Python