求助求助!第三个老是错

P1923 【深基9.例4】求第 k 小的数

987zz @ 2023-03-07 22:30:53

#include<iostream>
using namespace std;
int a[5000010],k;
void Quick_Sort(int l,int r,int a[])
{
    int i=l-1,j=r+1,base=a[l+r>>1];
    while(i<j)
    {
        do i++;while(a[i]<base);
        do j--;while(a[j]>base);
        if(i<j)
        {
            swap(a[i],a[j]);
        }
    }
    if(k<j)Quick_Sort(l,j,a);
    else if(k>i)Quick_Sort(j+1,r,a);
    else
    {
        cout<<a[k];
    }
}
int main()
{
    int n;
    cin>>n>>k;
    for(int i=0;i<n;i++)
    cin>>a[i];
    Quick_Sort(0,n-1,a);
 } 

|