quicksort排序的时间复杂度是多少啊?
如题,谢谢了
#include <iostream> using namespace std; int main() { int a[10],b[100]={0},c[100];//a储存原数组,b存储排序后数组,c存储个数 int n,i,j; int min,max; cin>>n; for(i=0;i<n;i++) cin>>a[i]; min=a[0]; max=a[0]; for(i=1;i<n;i++)//得到数组中的最小值和最大值 { if(a[i]<min) min=a[i]; if(a[i]>max) max=a[i]; } b[0]=min; c[0]=0; for(i=1;i<n+1;i++)//排序思路:找到最小值,把比最小值大N的数存到B[N]中 { c[i]=1;//保证B数值里每个非0值最少有一个输出 j=a[i-1]-b[0]; if(b[j]==a[i-1]) { b[j]=a[i-1]; c[j]++;//如果有多个相同的非零值,着个数加一 } b[j]=a[i-1]; } for(i=0;i<=max-min+1;i++) { if(b[i]!=0) while(c[i]>0) { cout<<b[i]<<" "; c[i]--; } else continue; } return 0; }我觉得这个排序可以使时间复杂度为N,就是空间复杂度可能会很大,所以可以帮我看下怎么储存会好点吗?谢谢了