快速排序
来源:互联网 发布:lr软件怎么下载 编辑:程序博客网 时间:2024/05/18 14:46
# -*- coding: gb2312 -*-# 交换数值def swap(arr, i, j): temp = arr[i] arr[i] = arr[j] arr[j] = temp# 快速排序def quickSort(arr, left, right): if left < right: key = arr[(left + right) / 2] i = left j = right while True: while True: if arr[i] >= key: break i += 1 while True: if arr[j] <= key: break j -= 1 if i >= j: break swap(arr, i, j) quickSort(arr, left, i - 1) quickSort(arr, j + 1, right) if "__main__" == __name__: arr = [4, 2, 1, 3, 5] print "arr: ", arr quickSort(arr, 0, len(arr) -1) print "sort arr: ", arr
输出:
arr: [4, 2, 1, 3, 5]sort arr: [1, 2, 3, 4, 5]
参考:
《快速排序算法-c#版》
[转]http://blog.csdn.net/mamihong/article/details/8313598#comments
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 无效驱动器 问题
- [一步一步破解apk]破解1518占卜
- JdbcTemplate数据批量删除
- 面试3
- jquery 消息插件--仿QQ消息弹出提醒
- 快速排序
- (转)游戏化和社交、移动同等重要:每家创业公司的 CEO 都应该理解游戏化
- iPhone/iPad开发)怎样判断ios app第一次启动
- Spring JDBC Framework详解——批量JDBC操作、ORM映射
- IOS 实现 单指(one finger)操作:旋转 缩放。(理想中的逻辑)
- ListView实现Item内部操作
- uva 工具网站
- SVN强制用户添加注释
- javamail 发送gmail 邮件 例子