python快速排序代码实例


Posted in Python onNovember 21, 2013

一、 算法描述:

1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。

 二、python快速排序代码

#!/usr/bin/python
# -*- coding: utf-8 -*-
def sub_sort(array,low,high):
    key = array[low]
    while low < high:
        while low < high and array[high] >= key:
            high -= 1
        while low < high and array[high] < key:
            array[low] = array[high]
            low += 1
            array[high] = array[low]
    array[low] = key
    return low

def quick_sort(array,low,high):
     if low < high:
        key_index = sub_sort(array,low,high)
        quick_sort(array,low,key_index)
        quick_sort(array,key_index+1,high)

if __name__ == '__main__':
    array = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1,7,3]
    print array
    quick_sort(array,0,len(array)-1)
    print array

结果:
[8, 10, 9, 6, 4, 16, 5, 13, 26, 18, 2, 45, 34, 23, 1, 7, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 18, 23, 26, 34, 45]

Python 相关文章推荐
python共享引用(多个变量引用)示例代码
Dec 04 Python
python生成圆形图片的方法
Mar 25 Python
python实现名片管理系统
Nov 29 Python
一篇文章弄懂Python中所有数组数据类型
Jun 23 Python
python的time模块和datetime模块实例解析
Nov 29 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
python如何使用jt400.jar包代码实例
Dec 20 Python
Python面向对象之私有属性和私有方法应用案例分析
Dec 31 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python多进程编程常用方法解析
Mar 26 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
Jul 05 Python
python二分法实现实例
Nov 21 #Python
Python列表推导式的使用方法
Nov 21 #Python
python调用shell的方法
Nov 20 #Python
python和shell变量互相传递的几种方法
Nov 20 #Python
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 #Python
python从ftp下载数据保存实例
Nov 20 #Python
python正则表达式抓取成语网站
Nov 20 #Python
You might like
BBS(php &amp; mysql)完整版(三)
2006/10/09 PHP
PHP实现用户认证及管理完全源码
2007/03/11 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
常用js脚本
2006/12/03 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
python实现根据文件格式分类
2019/10/31 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
Django REST framwork的权限验证实例
2020/04/02 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
面试后感谢信
2014/02/01 职场文书
小学评语大全
2014/04/22 职场文书
超市活动计划书
2014/04/24 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
2014年教学工作总结
2014/11/13 职场文书
导游词范文
2015/02/13 职场文书
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python