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 相关文章推荐
使用Django Form解决表单数据无法动态刷新的两种方法
Jul 14 Python
Python 私有函数的实例详解
Sep 11 Python
Python中pygal绘制雷达图代码分享
Dec 07 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
python绘制多个曲线的折线图
Mar 23 Python
python实现扫描局域网指定网段ip的方法
Apr 16 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
pytorch中的自定义反向传播,求导实例
Jan 06 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
python中加背景音乐如何操作
Jul 19 Python
Django mysqlclient安装和使用详解
Sep 17 Python
python 通过使用Yolact训练数据集
Apr 06 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中使用灵巧的体系结构
2006/10/09 PHP
php debug 安装技巧
2011/04/30 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
在Python中操作字典之clear()方法的使用
2015/05/21 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Django配置文件代码说明
2019/12/04 Python
应届生高等护理求职信
2013/10/12 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
2014年班组工作总结
2014/11/20 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
召开会议通知范文
2015/04/15 职场文书
毕业设计致谢词
2015/05/14 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书