40分,求助!

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

Mrgteo79c @ 2023-02-12 20:39:08

#include<stdio.h>
void qsort(int a[],int left,int right)
{
    int i,j,tem,t;
    if(left>right)
    return;
    tem=a[left];
    i=left;
    j=right;
    while(i!=j)
    {
        while(a[j]>tem&&i<j)
        j--;
        while(a[i]<=tem&&i<j)
        i++;
        if(i<j)
        {
            t=a[i];
            a[i]=a[j];
            a[j]=t;
        }
    }
    a[left]=a[i];
    a[i]=tem;
    qsort(a,left,i-1);
    qsort(a,i+1,right);
}
int main() 
{
    int n,k,i;
    scanf("%d%d",&n,&k);
    int a[n+1];
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    qsort(a,0,n);
    printf("%d",a[k]);
    return 0;
}

|