AcWing 785. 快速排序
原题链接
简单
作者:
tq
,
2024-04-05 19:10:20
,
所有人可见
,
阅读 6
#include <iostream>
using namespace std;
const int N = 100010;
int a[N];
void quick_sort(int a[], int l, int r){
if(l >= r) return; //递归啊忘了,递归结束条件
int i = l - 1, j = r + 1;
int x = a[l + r >> 1];
while(i < j){
do i ++; while(a[i] < x);
do j --; while(a[j] > x);
if(i < j) swap(a[i], a[j]);
}
quick_sort(a, l, j);
quick_sort(a, j + 1, r);
}
int main(){
int n, k;
scanf("%d%d", &n, &k);
for(int i = 0; i < n; i ++){
scanf("%d", &a[i]);
}
quick_sort(a, 0, n - 1);
printf("%d", a[k - 1]);
}