/* On the test stub: */
[snip]
double data[30];
int main(void)
{
size_t i;
size_t size = sizeof(data) / sizeof(data[0]);
for (i = 0; i < size; i++) {
data[i] = rand();
}
for (i = 0; i < size; i++) {
cout << data[i] << endl;
}
cout << "1st item is " << RandomSelect(data, 0, size - 1, 0) <<
endl;
cout << "2nd item is " << RandomSelect(data, 0, size - 1, 1) <<
endl;
cout << "3rd item is " << RandomSelect(data, 0, size - 1, 2) <<
endl;
for (i = 4; i < size; i++)
cout << i << "th item is " << RandomSelect(data, 0, size - 1,
i) << endl;
return 0;
}
/*
The positions are cardinal, so the first three queries above should be:
cout << "1st item is " << RandomSelect(data, 0, size - 1, 1) <<
endl;
cout << "2nd item is " << RandomSelect(data, 0, size - 1, 2) <<
endl;
cout << "3rd item is " << RandomSelect(data, 0, size - 1, 3) <<
endl;
*/