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 相关文章推荐
python3.3教程之模拟百度登陆代码分享
Jan 16 Python
跟老齐学Python之有容乃大的list(4)
Sep 28 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
python 网络爬虫初级实现代码
Feb 27 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 Python
numpy matrix和array的乘和加实例
Jun 28 Python
python爬虫之urllib库常用方法用法总结大全
Nov 14 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
kafka-python批量发送数据的实例
Dec 27 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
Feb 05 Python
Python发送邮件实现基础解析
Aug 14 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 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
Parse正式发布开源PHP SDK
2014/08/11 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
vue中使用极验验证码的方法(附demo)
2019/12/04 Javascript
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
运动会入场词60字
2014/02/15 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
办公室文员岗位职责
2015/02/04 职场文书
违纪开除通知书
2015/04/25 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
Python 数据科学 Matplotlib图库详解
2021/07/07 Python