#include<iostream>
using namespace std;
const int N = 1e6 + 10;//1e6意思是1*(10的6次幂),const int 是让N的值固定
int n;
int q[N];
void quick_sort(int q[],int l,int r)
{
if(l>=r) return;
int x=q[l],i = l-1,j = r+1;
while(i<j)
{
do i++ ; while(q[i]<x); //不管是否满足条件i都先自增一下
do j-- ; while(q[j]>x); //同理,j也自减一下
if(i<j) swap(q[i],q[j]); //将两个停住的指针进行交换
}
quick_sort(q,l,j); //解决l到j区间的排列
quick_sort(q,j+1,r); //解决j+1到r区间的排列
}
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&q[i]);
quick_sort(q,0,n-1); //让l等于0,让r等于n-1
for(int i = 0;i<n;i++) printf("%d ",q[i]);
return 0;
}
11-09
412
03-12
53
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交