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学习笔记 下载
Feb 10 Python
Python单链表简单实现代码
Apr 27 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 Python
使用python绘制cdf的多种实现方法
Feb 25 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
Python浮点型(float)运算结果不正确的解决方案
Sep 22 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初始化对象和析构函数的简单实例
2014/03/11 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
JQuery调用WebServices的方法和4个实例
2014/05/06 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
JS实现的简单表单验证功能示例
2017/10/13 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
python实现多线程的两种方式
2016/05/22 Python
详解Python中for循环是如何工作的
2017/06/30 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
python使用turtle绘制分形树
2018/06/22 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
如何理解Python中的变量
2020/06/01 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
会计毕业生自荐信
2013/11/21 职场文书
商业用房租赁协议书
2014/10/13 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
学校中秋节活动总结
2015/03/23 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
pandas数值排序的实现实例
2021/07/25 Python