快速排序的最坏时间复杂度是多少?
const int N=1e5+5;int cnt=0,a[N],b[N];void merge_sort(int l , int r) {
if(l>=r) return;
int mid = (l+r) / 2 ;
merge_sort(l , mid);
merge_sort(mid+1 , r);
int i = l;
int p = l , q = mid+1;
while(p<=mid || q<=r) {
if(q>r || (p<=mid && a[p]<=a[q]))
b[i++] = a[p++];
else {
b[i++] = a[q++];
cnt += mid -p + 1;
}
}
for(i = l ; i <= r; i++)
a[i] = b[i];}int main() {
a[1]=1,a[2]=3,a[3]=2,a[4]=4;
merge_sort(1,4);
printf("%d\n",cnt);}