快速排序的复杂度为O(nlog2n)
代码:
#include<iostream>
using namespace std;
const int N = 1e6 +10;
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);
do j --; while ( q[j] > x);
if(i < j)
{ int t =q[i];
q[i] = q[j];
q[j] = t;
}
}
quick_sort(q,l,j);
quick_sort(q,j+1,r);
}
int main()
{
int n,q[N],i = 0;
scanf("%d",&n);
for(; i < n; i ++)
scanf("%d",&q[i]);
quick_sort(q,0,n-1);
for(i = 0;i < n ;i ++)
printf("%d",q[i]);
return 0;
}