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操作字符串之rindex()方法的使用
May 19 Python
Python的Django框架可适配的各种数据库介绍
Jul 15 Python
使用python3+xlrd解析Excel的实例
May 04 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
Python常见数据类型转换操作示例
May 08 Python
Python实现性能自动化测试竟然如此简单
Jul 30 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 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
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
arguments对象
2006/11/20 Javascript
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
一个超级简单的python web程序
2014/09/11 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
python 切换root 执行命令的方法
2019/01/19 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
《孙权劝学》教学反思
2014/04/23 职场文书
扬州个园导游词
2015/02/06 职场文书
三八节活动简报
2015/07/20 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书