更多课程 选择中心


Python培训

400-111-8989

Python排序算法--快速排序


快速排序采用的是算法思想中的分治算法,在一次排序后将序列分成两部分,其中一部分的数据比另外一部分的数据都小,然后利用递归分别对两部分数据进行排序,以此达到整个数据变成有序序列;

def quick_sort(list,left,right):

if left >= right:

return list

key = list[left] #将左边第一位定位基准数,以此数将序列分为两部分

low = left

high = right

while left!=right: #从最右边开始查(一定要从最右边开始查),查找比基准值小的数

while left <right and list[right]>=key:

right -= 1

list[left] = list[right] #从最左边开始查,查找比基准值大的数

while left <right and list[left]<= key:

left += 1

list[right] = list[left]

list[right] = key

#分别对两部分数据再调用quick_sort函数

quick_sort(list,low,left-1)

quick_sort(list,left+1,high)

return list

lis = [1,2,5,3,8,29,3]

n = len(lis)

quick_sort(lis,0,n-1)返回结果:[1, 2, 3, 3, 5, 8, 29]

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python老司机给上路新手的3点忠告
下一篇:Python入门 python环境变量设置

Python IDE推荐7个你可能会错过的Python IDE

Python面试题之Python中爬虫框架或模块的区别

2021年Python面试题及答案汇总详解

python数据分析,你需要这些工具

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省