萌新求助!!!
查看原帖
萌新求助!!!
33107
丿临〆江仙乀楼主2023/11/9 21:22
#include<bits/stdc++.h>
using namespace std;
int x[5000005],k,n;
int qsort(int l,int r)
{
	int i=l,j=r,mid=x[(l+r)/2];
	do
	{
		while(x[i]<mid)
		{
			i++;
		}
		while(x[j]>mid)
		{
			j--;
		}
		if(i<=j)
		{
			swap(x[i],x[j]);
			i++;
			j--;
		}
	}
	while(i<=j);
	if (k<=j) qsort(l,j);
	else if (k>=i) qsort(i,r);
	else
	{
		cout<<x[k];
		return 0;
	}
}
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&x[i]); 
	}
	qsort(1,n);
}

//为什么把题解中的从0到n-1输入改成从1到n输入就错了呢

2023/11/9 21:22
加载中...