Skip to content

Instantly share code, notes, and snippets.

@taeguk
Created December 21, 2015 09:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taeguk/e41c93547e16af4ad4e5 to your computer and use it in GitHub Desktop.
Save taeguk/e41c93547e16af4ad4e5 to your computer and use it in GitHub Desktop.
Generate non-duplicate random numbers
void gen_rand_num_nondup(int *arr, int cnt, int s_num, int e_num)
{
int range = e_num - s_num;
int in, im;
for (in = 0, im = 0; in < range && im < cnt; ++in) {
int rn = range - in;
int rm = cnt - im;
if (rand() % rn < rm)
arr[im++] = in + s_num;
}
assert(im == cnt);
}
//http://stackoverflow.com/questions/1608181/unique-random-numbers-in-an-integer-array-in-the-c-programming-language
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment