Я пытаюсь заполнить массив из 20 ints цифрами от 1-20 в случайной последовательности. здесь мой код:
int lookup[20]={0};
int array[20]={0};
srand(time(NULL));
for(int i=0;i<20;++i){
bool done=false;
while(!done){
int n=rand()%20;
if(lookup[n]==0){
array[i]=n;
lookup[n]=1;
done=true;
}
}
}
Я создал массив поиска, чтобы проверить, не выбрано ли случайное число и сохранили его в массиве. Как вы можете видеть, я создал 2 цикла, один для перемещения массива и время для выбора случайного числа. В каждой итерации цикла while число может снова появляться и вызывать другой цикл while. Есть ли более быстрый способ сделать это?