全RE,求助!!!!!!
查看原帖
全RE,求助!!!!!!
373226
justinjia楼主2020/11/29 19:52

为各位大佬献上代码:

#include"stdio.h"
int a[5000000];
void quicksort(int start,int end,int k){
    if(start==end){
        a[k]=a[start];
        return;
    }
    int t,i=start,j=end;
    const int pivot=a[(start-end)/2];
    do{
        while(a[i]<pivot)
            i++;
        while(a[j]>pivot)
            j--;
        if(i<=j){
            t=a[i];
            a[i]=a[j];
            a[j]=t;
            i++;
            j--;
        }
    }while(i<=j);
    if(k<=j)
        quicksort(start,j,k);
    else if(i<=k)
        quicksort(i,end,k);
    else
        quicksort(j+1,i-1,k);
}
int main(void){
    int n,k;
    scanf("%d%d",&n,&k);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    quicksort(0,n-1,k);
    printf("%d",a[k]);
    return 0;
}
2020/11/29 19:52
加载中...