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动态加载变量示例分享
Feb 17 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
解决Python3.5+OpenCV3.2读取图像的问题
Dec 05 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 Python
Python实现快速排序的方法详解
Oct 25 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
python Jupyter运行时间实例过程解析
Dec 13 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
Apr 21 Python
Jupyter notebook如何实现指定浏览器打开
May 13 Python
重写django的model下的objects模型管理器方式
May 15 Python
python爬虫中url管理器去重操作实例
Nov 30 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 error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
Python gevent协程切换实现详解
2020/09/14 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
合作协议书范本
2014/04/17 职场文书
大学毕业生推荐信
2014/07/09 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
居安思危观后感
2015/06/11 职场文书
大学生暑期实践报告
2015/07/13 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
Java完整实现记事本代码
2022/06/16 Java/Android