更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python排序算法--快速排序

  • 发布:Python培训
  • 来源:练习题库
  • 时间:2017-11-22 16:40

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

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编程练习题二

Python编程练习题一

Python实现降雪效果

Python中dir()、help()的使用

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省