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计算书页码的统计数字问题实例
Sep 26 Python
python在windows命令行下输出彩色文字的方法
Mar 19 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
python复制文件的方法实例详解
May 22 Python
qpython3 读取安卓lastpass Cookies
Jun 19 Python
Python中使用支持向量机(SVM)算法
Dec 26 Python
python写一个md5解密器示例
Feb 23 Python
selenium + python 获取table数据的示例讲解
Oct 13 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
Sep 17 Python
将数据集制作成VOC数据集格式的实例
Feb 17 Python
Python SQLAlchemy库的使用方法
Oct 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
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
php中in_array函数用法探究
2014/11/25 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
node跨域请求方法小结
2017/08/25 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
python输出指定月份日历的方法
2015/04/23 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
美国网上花店:JustFlowers
2017/02/12 全球购物
学生会主席事迹材料
2014/01/28 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
美食节目策划方案
2014/05/31 职场文书
社区矫正工作方案
2014/06/04 职场文书
销售目标责任书
2014/07/23 职场文书
电话客服工作职责
2014/07/27 职场文书
2014年司机工作总结
2014/11/21 职场文书
信息技术课教学反思
2016/02/23 职场文书
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL