785. 快速排序

网友投稿 640 2022-10-23

785. 快速排序

785. 快速排序

文章目录

​​Question​​​​Ideas​​​​Code​​

Question

给定你一个长度为 n 的整数数列。

请你使用快速排序对这个数列按照从小到大进行排序。

并将排好序的数列按顺序输出。

输入格式 输入共两行,第一行包含整数 n。

第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。

输出格式 输出共一行,包含 n 个整数,表示排好序的数列。

数据范围 1≤n≤100000 输入样例: 5 3 1 2 4 5 输出样例: 1 2 3 4 5

Ideas

快排

Code

'''快排流程- 1、确定分界点- 2、确定区间(朴素方法:开数组;优化方法双指针)- 3、递归排序'''def quick_sort(q,l,r): if l >= r:return x = q[l+r>>1] i,j = l-1,r+1 while i < j: while 1: i += 1 if q[i] >= x: break while 1: j -= 1 if q[j] <= x: break if i < j: q[i],q[j] = q[j],q[i] quick_sort(q,l,j) quick_sort(q,j+1,r) n = int(input())lis = list(map(int,input().strip().split()))quick_sort(lis,0,n-1)for i in lis: print(i,end=' ')

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Vanity - 一个Rails的A/B测试框架
下一篇:Storm - BoltDB的简单而强大ORM框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~