Python版的快排,使用递归。

1.设置递归终止条件,当元素个数<1时

2.从列表中pop出一个元素pv

3.列表中的剩余值与pv进行对比,大的放入smaller列表,小的放入larger列表

4.返回qs(smaller)+[pv]+qs(larger)

代码如下:

 def quicksort(array):
smaller=[];larger=[]
if len(array)<1:
return array
pv=array.pop()
for num in array:
if num>pv:
larger.append(num)
else:
smaller.append(num)
return quicksort(smaller)+[pv]+quicksort(larger) if __name__=='__main__':
numarray=[5,4,3,6,7,2,9,1,2,9]
numarray=quicksort(numarray)
sarray=['hahahahah','heheheheh','abc','every dog has its lucky day']
sarray=quicksort(sarray)
print(numarray,'\n',sarray)

最新文章

  1. libvirt 网络手册(一)
  2. Hibernate注解
  3. jquery 面板拖拽
  4. 使用git推送代码到开源中国以及IDEA环境下使用git
  5. crucible3.x +fisheye3.x 安装和破解
  6. Cocos2d-x 3.0标签类Label
  7. HTML5-Geolocation&amp;地图.html
  8. COM组件简介
  9. windows下exfat无法写入修复
  10. QT最简单的程序执行过程分析(内含C++基础知识)
  11. gcc编译器用法
  12. linux_发邮件
  13. pycharm 中 import requests 报错
  14. Good Bye 2018 (A~F, H)
  15. OpenCV常用数据类型
  16. [leetcode]44. Wildcard Matching万能符匹配
  17. spring 的核心类JdbcTemplate 方法
  18. PHP的几种输出方式
  19. spring揭密学习笔记(1) --spring的由来
  20. error C4996: &#39;GetVersionExW&#39;: 被声明为已否决

热门文章

  1. 关于IO多路复用的一篇好文
  2. qdoc 写法
  3. iOS Quartz2D画图
  4. Oracle 视图操作
  5. [转]Numpy使用MKL库提升计算性能
  6. Hololens生成与安装(旁加载)应用
  7. 在代理中托管特殊方法的python代码实现
  8. NOIP2014-提高组初赛C语言解析(选择填空题)
  9. vim编辑器设置文件的fileformat
  10. Spark 源码解读 -- 依赖