#include <stdio.h>
int part(int arr[], int arrstart, int arrend,int k) {
int low=arrstart;
int high= arrend;
int pre = arr[arrstart];
while (arrstart < arrend) {
while (arrstart<arrend&&arr[arrend]<pre)
arrend--;
arr[arrstart] = arr[arrend];
while (arrstart < arrend&&arr[arrstart] > pre)
arrstart++;
arr[arrend] = arr[arrstart];
}
arr[arrstart] = pre;
if(arrstart == (k-1)){
return arrstart;
}
else if(arrstart>(k-1)){
part(arr, low, arrstart - 1,k);
}else{
part(arr, arrstart + 1, high,k);
}
}
int main() {
int arr[] = { 4,9,6,21,69,99,63,100 };
int k=4;
int index=part(arr, 0, 7,k);
printf("第%d个大值为%d",k,arr[index]);
return 0;
}