[算法学习]20150414.3.快排
2016-04-14 16:12
405 查看
快排实现
# -*-coding: utf-8 -*- import string import random def adjustArray(array, l, r): """quick sort one step""" if not array or l < 0 or r < 0 or l > r: return i, j = l, r base = array[l] while i < j: while i < j and array[j] >= base: j -= 1 if i < j: array[i] = array[j] i += 1 while i < j and array[i] < base: i += 1 if i < j: array[j] = array[i] j -= 1 array[i] = base return i def quick_sort(datas, l, r): """recurison quick sort""" if l < r: i = adjustArray(datas, l, r) quick_sort(datas, l, i - 1) quick_sort(datas, i + 1, r) if __name__ == '__main__': datas = list([random.randint(1, 100) for i in range(10)]) print datas quick_sort(datas, 0, 9) print datas
相关文章推荐
- 统计利用先序遍历创建的二叉树的宽度
- 数据库学习整理
- 码农小汪-设计模式之-Builder模式
- ios 内置支付宝
- inline函数详解
- 对于数据库操作可能会遇到的问题(空值问题以及出现的参数不能被重复使用问题)
- oc知道经纬度求位置
- 浅谈算法和数据结构: 七 二叉查找树
- 微软官方补丁6B BUG造成WIN7系统蓝屏解决方案
- 8.2检测图像中的角点
- 微信支付异步回调的坑,调用成功了回调地址却没有数据
- LeetCode 142 Linked List Cycle II
- 队列——链表实现
- Linux服务器集群负载均衡解说
- ansible学习笔记
- 万能的NSData各种数据类型之间的转化
- Quartz的简单使用
- PL SQL 修改 日期 显示格式
- Learning Scrapy笔记(一)- Scrapy简单介绍
- mysql 5.7.7+支持JSON字段格式