快速排序(Python实现)
来源:互联网 发布:矩阵防御 app 编辑:程序博客网 时间:2024/06/07 23:31
def port(array,low,high): key=array[low] print "key ",key while low<high: while low<high and array[high]>key: high-=1 array[low]=array[high] print array while low<high and array[low]<=key: low+=1 print array array[high]=array[low] array[low]=key return low def quick_sort(array,low,high): if low < high: middle = port(array,low,high) quick_sort(array,low,middle-1) quick_sort(array,middle+1,high) return arraynum=[2,1,4,3,5,6,10,5,7,2]print numquick_sort(num,0,len(num)-1)print(num)
[2, 1, 4, 3, 5, 6, 10, 5, 7]//初始状态
key 2 //key是第一个位置
[1, 1, 4, 3, 5, 6, 10, 5, 7]//找到一个小于等于2的位置,也就是1,然后把key的位置赋值为1,high这个循环停止
[1, 1, 4, 3, 5, 6, 10, 5, 7]//low这层找一个大于key的,找到了就用high位置的赋值
[1, 2, 4, 3, 5, 6, 10, 5, 7]//low位置赋值为key
key 4
[1, 2, 3, 3, 5, 6, 10, 5, 7]
[1, 2, 3, 3, 5, 6, 10, 5, 7]
[1, 2, 3, 4, 5, 6, 10, 5, 7]
key 5
[1, 2, 3, 4, 5, 6, 10, 5, 7]
[1, 2, 3, 4, 5, 6, 10, 5, 7]
[1, 2, 3, 4, 5, 5, 10, 6, 7]
[1, 2, 3, 4, 5, 5, 10, 6, 7]
[1, 2, 3, 4, 5, 5, 10, 6, 7]
[1, 2, 3, 4, 5, 5, 10, 6, 7]
key 10
[1, 2, 3, 4, 5, 5, 7, 6, 7]
[1, 2, 3, 4, 5, 5, 7, 6, 7]
[1, 2, 3, 4, 5, 5, 7, 6, 10]
key 7
[1, 2, 3, 4, 5, 5, 6, 6, 10]
[1, 2, 3, 4, 5, 5, 6, 6, 10]
[1, 2, 3, 4, 5, 5, 6, 7, 10]
[1, 2, 3, 4, 5, 5, 6, 7, 10]
- 快速排序(Python实现)
- 快速排序(python实现)
- 快速排序Python实现
- python实现快速排序
- Python实现快速排序
- python 实现快速排序
- Python实现快速排序
- 快速排序Python实现
- python实现快速排序
- Python实现快速排序
- python实现快速排序
- python 实现快速排序
- Python实现快速排序
- python实现快速排序
- Python实现快速排序
- python实现快速排序
- Python实现快速排序
- Python实现快速排序
- Android TV开发总结(五)TV上屏幕适配总结
- 共享栈
- Android—Gridview(网格视图)
- kmp算法实现字符串匹配
- Android艺术开发探索——第二章:IPC机制(下)
- 快速排序(Python实现)
- Verilog使用有符号数
- 深入浅出Collection Framework
- Java的反射机制学习1
- eHealth测试(翼华科技校园招聘会)_Day001
- 文件操作--文件流
- 正则表达式基础总结
- Mac上mysql Starting MySQL..The server quit without updating PID file
- python(十一)下:Redis安装配置及使用详解