#include
using namespace std;
//把它分成两个部分,不一定是等分的
int RAND_PARTITION(int *A , int p , int r)
{
int x = A[r];
int i = p-1;
for(int j = p ; j
k的话就到右边找
if(i == k)
return A[q];
else if(i
> num){
for(i=0 ; i
> A[i];
}
cout << "你需要找到第几小的元素:";
cin >> n;
temp = RAND_SELECT(A,0,num-1,n);
cout << "第" << n << "小元素为:" << temp << endl;
}
return 0;
}
选择算法(RANDOMIZED_SELECT)
最新推荐文章于 2023-07-19 20:20:34 发布