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构建XML树结构的方法示例
Jun 30 Python
简单了解Python中的几种函数
Nov 03 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
python控制台实现tab补全和清屏的例子
Aug 20 Python
YUV转为jpg图像的实现
Dec 09 Python
Python文本处理简单易懂方法解析
Dec 19 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
Python中常用的os操作汇总
Nov 05 Python
pycharm 复制代码出现空格的解决方式
Jan 15 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中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
详解vue 组件注册
2020/11/20 Vue.js
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
详解supervisor使用教程
2017/11/21 Python
python实现爬取图书封面
2018/07/05 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
Python文件读写常见用法总结
2019/02/22 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Python实现名片管理系统
2020/02/14 Python
AUC计算方法与Python实现代码
2020/02/28 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
德国排名第一的主题公园门票网站:Attraction Tickets Direct
2019/09/09 全球购物
军训学生自我鉴定
2014/02/12 职场文书
服务标兵事迹材料
2014/05/04 职场文书
拓展训练激励口号
2014/06/17 职场文书