求java算法:如何生成一组不重复的随机数(比如1到10)

2025-02-26 18:02:01
推荐回答(2个)
回答1:

int table[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

void swap(int* a, int* b) { // 交换两个元素
int c = *a;
*a = *b;
*b = c;
}

void rand_n(int len, n) { // 打乱table中各个元素之间的顺序
for (int i = 0; i < len; i++) {
swap(&table[i], &table[rand() / len]);
}
for (int i = 0; i < n; i++) { // 输出前n个元素
printf("%d\n", table[i]);
}
}

int main() {
rand_n(sizeof(table)/sizeof(int), 4);
}

回答2:

楼上的是用C语言编写的,算法一样的.你可以参照一下