给定范围内产生N个不同的随机数

void RandNumbs(int nLimts, int result[], int n)//给定范围内产生n个不同随机数(1-nLimts),并存储到result中
{
int nNum = 0;
int *temp = new int[nLimts];
for (int i = 0; i < nLimts;i++)
{
temp[i] = i;
}

srand((int)time(0));
for (int i = 0; i < n;i++)
{
	nNum = rand() % nLimts ;
	while (temp[nNum] == -1)
	{
		nNum = rand() % nLimts ;
	}
	result[i] = temp[nNum] + 1;
	temp[nNum] = -1;
}
delete [] temp;
temp = NULL;

}

原文地址:https://www.cnblogs.com/Mr-Zhong/p/4389567.html