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通过pil为png图片填充上背景颜色的方法
Mar 17 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
python 计算文件的md5值实例
Jan 13 Python
python中import学习备忘笔记
Jan 24 Python
Python 实现随机数详解及实例代码
Apr 15 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
python的turtle库使用详解
May 10 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
Python3交互式shell ipython3安装及使用详解
Jul 11 Python
Python机器学习三大件之一numpy
May 10 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
延长phpmyadmin登录时间的方法
2011/02/06 PHP
PHP自定义多进制的方法
2016/11/03 PHP
一个实用的php验证码类
2017/07/06 PHP
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
pytorch 修改预训练model实例
2020/01/18 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
python的setattr函数实例用法
2020/12/16 Python
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
合同意向书范本
2014/07/30 职场文书
普通话演讲稿
2014/09/03 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
运动会入场词
2015/07/18 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
Python List remove()实例用法详解
2021/08/02 Python
Python读写yaml文件
2022/03/20 Python