void StartNewGame()
{
CArray<int,int> List; //
int i;
//给数组赋值
for(i=0;i<100;i++)
{
List.Add(j);
}
srand((unsigned)time( NULL ));//随机数喂种子
while(1)
{
int size=List.GetSize();//剩余牌数
if(size==0)
break;
//取得一个随机数
i=(rand()*rand())%size;
//处理该数
//……
List.RemoveAt(i);//删除该数
}
}
思路很简单,看代码……
(rand()*rand())%size表示在0-size之间取一个随机数。
第一次在100个数之间随机取一个,第二次在99个数之间随机取一个,第三次在98个数之间随机取一个……而取出来的数被删掉,所以之后都不会再出现。
|