srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。srand和rand()配合使用产生伪随机数序列。
#include <stdlib.h>
#include <ctime>
void XiPai(int array[], int length)
{
int index = 0;
int nTemp = 0;
if (NULL == array || 0 == length)
return;
srand(unsigned(time(NULL))); //获取time函数返回的值,每次更改随机数种子,初始化随机数发生器
//发牌的时候对于已经分配的数据不再修改
for (int i = 0; i < length; i++)
{
//产生随机索引
index = i + rand() % (length - i);
//数据[新产生的索引] = 数据[原来的索引];
nTemp = array[i];
array[i] = array[index];
array[index] = nTemp;
}
}