博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序算法Nb三人组-快速排序
阅读量:5921 次
发布时间:2019-06-19

本文共 688 字,大约阅读时间需要 2 分钟。

核心思想:

将列表中第一个元素拿出来,放到一边,左右两个循环,左面的大于拿出来的数,就把他挪到右面,

右面的小于拿出来的数就把他放在左面,这是列表被第一个元素''分''为两个列表,在对两个列表进行同样的操作进行递归.

def partition(li, left, right):    tmp = li[left]    while left < right:        while left < right and li[right] >= tmp:            right -= 1        li[left] = li[right]        while left < right and li[left] <= tmp:            left += 1        li[right] = li[left]    li[left] = tmp    return left
def quick_sort(li, left, right):    if left < right: # 待排序的区域至少有两个元素        mid = partition(li, left, right)        quick_sort(li, left, mid-1)        quick_sort(li, mid+1, right)

 

posted on
2019-02-25 17:53 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/Treasuremy/p/10432339.html

你可能感兴趣的文章
PjSIP作为SIP信令和WebRTC整合使用的方案
查看>>
数字基本单位及2或10的幂次方
查看>>
发送验证码后button读秒功能
查看>>
关于nagios故障两例的解决办法
查看>>
Hadoop RPC系统
查看>>
ie8,9下placeholder不兼容的解决方案?
查看>>
我的友情链接
查看>>
ThinkPHP用phpexcel导出excel
查看>>
关于RIP的自动汇总与关闭自动汇总实验
查看>>
IE10和IE9兼容性常见问题解答(FAQ)
查看>>
[Windows Azure] Learn SQL Reporting on Windows Azure (9-Step Tutorial)
查看>>
memcached在docker中安装
查看>>
史上最全微信运营思维导图分享
查看>>
如何在sd卡中创建数据库
查看>>
LaTeX - 毕业答辩Beamer
查看>>
【CF 应用开发大赛】Cloud Foundry 控制台(续)
查看>>
网络故障分析 PING大包丢包故障分析
查看>>
关于tomcat版本的选择
查看>>
为什么要学习Python及Python环境安装
查看>>
最大公约数与最小公倍数求解
查看>>