微前端架构如何改变企业的开发模式与效率提升
676
2022-10-23
785. 快速排序
文章目录
QuestionIdeasCode
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~