#include<stdio.h>
const int N = 10010;
int data[N];
#define swap(a,b){int temp = a;a = b;b = temp;}
int paikuai(int left,int right){
int i = left;
int temp = data[right];
for(int j = left;j<right;j++){
if(data[j]<temp){
swap(data[j],data[i]);
i++;
}
}
swap(data[i],data[right]);
return i;
}
void quaisort(int left,int right){
if(left<right){
int i = paikuai(left,right);
quaisort(left,i-1);
quaisort(i+1,right);
}
}
int main(){
int n,kk;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&data[i]);
}
scanf("%d",&kk);
quaisort(1,n);
printf("%d",data[kk]);
return 0;
}
头哥-分治法-中值问题
最新推荐文章于 2024-08-09 15:52:48 发布