【QBKbupt】第十章 内部排序 B. 内部排序练习2-爱代码爱编程
#include<bits/stdc++.h>
using namespace std;
int m;
void quicksort(int s[],int a,int b)
{
int left=a,right=b,num;
if(left<right)
{
num=s[left];
while(left!=right)
{
while(right>left&&++m&&s[right]>=num) right--;
s[left]=s[right];
while(left<right&&++m&&s[left]<=num) left++;
s[right]=s[left];
}
s[left]=num;
quicksort(s,a,left-1);
quicksort(s,left+1,b);
}
}
int main()
{
int n;
scanf("%d",&n);
int data[100001];
for(int i=1;i<=n;i++)
{
scanf("%d",&data[i]);
}
quicksort(data,1,n);
printf("%d",m);
return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_41723812/article/details/111101422