给定范围内产生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;

}

posted @ 2015-04-03 11:32  阿木木在发呆  阅读(219)  评论(0编辑  收藏  举报