/**
* 随机生成一个[0, n-1]的数
*/
int rand_index(int n) {
srand(time(NULL));
return rand() % n;
}
/**
* 问题描述:从数组array中随机抽取extract_num个元素,组成新的数组返回。
*
*/
int* random_extract(int array[], int array_num, int extract_num) {
int* result = (int*)malloc(extract_num * sizeof(int));
for (int i = 0; i < extract_num; ++i) {
int tmp = array[array_num - 1 - i];
int index = rand_index(array_num - 1 - i);
array[array_num - 1 - i] = array[index];
array[index] = tmp;
result[i] = tmp;
}
return result;
}
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!