不知道是不是快速排序的锅,连样例都不一样
  • 板块P1327 数列排序
  • 楼主yinbe
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/1/12 09:57
  • 上次更新2023/10/24 04:38:57
查看原帖
不知道是不是快速排序的锅,连样例都不一样
759152
yinbe楼主2023/1/12 09:57
#include<iostream>
using namespace std;
int a[100001],cnt;
void qSort(int left,int right)
{
	int mid=a[(left+right)/2],key=a[mid],i=left,j=right;
	while(i<=j)
	{
		while(a[i]<mid)
		{
			i++;
		}
		while(a[j]>mid)
		{
			j--;
		}
		if(i<=j)
        {
            swap(a[i],a[j]);
			cnt++;
            i++;
            j--;           
        }
	}
	if(left<j) qSort(left,j);
    if(i<right) qSort(i,right);
	return;
}
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	qSort(1,n);
	printf("%d",cnt);
	return 0;
}
2023/1/12 09:57
加载中...