#!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)

最新文章

  1. XInitThreads与XLIB
  2. C++ 箴言
  3. 联想预装win8系统改成win7操作步骤及注意事项
  4. java 复习003 之排序篇
  5. JavaScript原型模式
  6. es6中的let声明变量与es5中的var声明变量的区别,局部变量与全局变量
  7. tyvj4866 摆摊
  8. Dynamics CRM2013 用户进入系统所必需的那些权限
  9. CSS面试细节整理(二)
  10. 使用 dom4j 处理 xml (3)
  11. 云笔记项目-MyBatis返回自增类型&amp;堆栈对象补充理解
  12. 在Node.js中在保持目录结构的情况下压缩指定目录
  13. EasyChat简易聊天室实现
  14. 办法总比困难多--JMeter压测小记
  15. 每天一个linux命令(5):in命令
  16. pseudo tty破除无法自动输入密码的限制
  17. excel 笔记
  18. IGMP 因特网组管理协议
  19. WiFi安全测试工具WiFiPhisher
  20. 自定义ExtJS文件上传

热门文章

  1. Android课程---Activity中保存和恢复用户状态
  2. 【iCore3 双核心板】例程二十四:LAN_DHCP实验——动态分配IP地址
  3. QTP功能点笔记
  4. Nosql学习笔记
  5. SourceInsight
  6. PartialViewResult不鸟_ViewStart.cshtml
  7. Jmeter进行数据库压测
  8. fmt-重新格式化段落
  9. Velocity模板引擎语法
  10. sql join 优化