AcWing 786. 第k个数
原题链接
简单
作者:
qing123
,
2021-01-23 20:47:40
,
所有人可见
,
阅读 224
题目描述
样例
#include<iostream>
using namespace std;
const int N=100010;
int q[N];
void quick_sort(int array[],int l,int r)
{
if(l>=r)return ; //边界检查
int i=l-1,j=r+1,x=q[l+r+1>>1];//初始化参数
while(i<j){
do i++; while(array[i]<x);//当发送比中枢大交换
do j--; while(array[j]>x);//当发下小的交换
if(i<j)swap(array[i],array[j]);
}
quick_sort(array,l,i-1);
quick_sort(array,i,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);
printf("%d",q[k-1]);
}