srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。srand和配合使用产生伪序列。
#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; } }