快速排序(python版)
2024-08-26 10:01:29
#!coding:utf8 def quicksort(list_num, left, right):
if left > right:
return low = left
high = right
privot= list_num[left]
while low<high:
while low < high and list_num[high] > privot:
high-=1
if low < high:
list_num[low] = list_num[high] while low < high and list_num[low] <= privot:
low+=1
if low < high:
list_num[high] = list_num[low] list_num[low] = privot
quicksort(list_num, left, low-1)
quicksort(list_num, low+1, right) if __name__ == "__main__":
test = [7,2,1,6,5,4,4,2]
quicksort(test,0, len(test)-1)
后记:后面可以对privot游标的选择方法进行优化,如:三元中位法(每次选取三个位置(前,中,后)三个数的中位数的下标的值作为privot)
最新文章
- XInitThreads与XLIB
- C++ 箴言
- 联想预装win8系统改成win7操作步骤及注意事项
- java 复习003 之排序篇
- JavaScript原型模式
- es6中的let声明变量与es5中的var声明变量的区别,局部变量与全局变量
- tyvj4866 摆摊
- Dynamics CRM2013 用户进入系统所必需的那些权限
- CSS面试细节整理(二)
- 使用 dom4j 处理 xml (3)
- 云笔记项目-MyBatis返回自增类型&;堆栈对象补充理解
- 在Node.js中在保持目录结构的情况下压缩指定目录
- EasyChat简易聊天室实现
- 办法总比困难多--JMeter压测小记
- 每天一个linux命令(5):in命令
- pseudo tty破除无法自动输入密码的限制
- excel 笔记
- IGMP 因特网组管理协议
- WiFi安全测试工具WiFiPhisher
- 自定义ExtJS文件上传