算法1
排序
快排
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e6+10;
int num[N];
int n;
void quick_sort(int q[],int l,int r){
if(l>=r) return;
int x=num[l+r>>1],i=l-1,j=r+1;
while(i<j){
do i++;while(num[i]<x);
do j--;while(num[j]>x);
if(i<j) swap(num[i],num[j]);
}
quick_sort(num,l,j);
quick_sort(num,j+1,r);
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
scanf("%d",&num[i]);
}
quick_sort(num,0,n-1);
for(int i=0;i<n;i++) printf("%d ",num[i]);
return 0;
}

浙公网安备 33010602011771号