786. 第k个数

786. 第k个数

在这里插入图片描述

#include<iostream>
using namespace std;

const int N = 100010;
int q[N];
int k;


void quick_sort(int q[],int l,int r)
{
    
    
    if(l >= r)
    {
    
    
        return ;
    }

    int x = q[(l + r) / 2];

    int i = l - 1;
    int j = r + 1;

    while(i < j)
    {
    
    
        do
        {
    
    
            i++;
        } while (q[i] < x);
        
        do
        {
    
    
            j--;
        } while (q[j] > x);
        

        if(i < j)
        {
    
    
            swap(q[i],q[j]);
        }
    }

    quick_sort(q,l,j);
    quick_sort(q,j+ 1,r);

}

int main()
{
    
    
    int n,k;
    scanf("%d%d",&n,&k);

    for(int i = 0; i < n; i++)
    {
    
    
        scanf("%d",&q[i]);
    }

    quick_sort(q,0,n - 1);

    cout<<q[k - 1];

    return 0;
}

おすすめ

転載: blog.csdn.net/qq_44653420/article/details/121109468