题库有600题,我想随机选其中的100道,这100道不能重复, 算法

题库有600题,我想随机选其中的100道,这100道不能重复, 算法

我想用php来实现,想到了list这个算法,可是php对list无,得自己来写这个list,我晕.哪位大哥帮忙.
int a[600];
randomize();
for(int t=0; t<100; t++)
a[t]=random(100);
for(int i=0; i<100; i++)
{
for(int j=0; j<i; j++)
{
while(a[i]==a[j])
{
a[i]=random(100);
j=0;
}
}
cout<<a[i]<<",";
}
cout<<endl<<endl;

这是我自己写的C++的算法.也能运行了.
我只是觉得
在一个list中存上600题,再来random,用PHP实现.

就是将600题放在数组里,然后调用shuffle这个PHP函数将数组打乱,取前100项就是需要的100题

至于这个打乱的算法,大致是这样
for (i=0;i<600;++i) {
a=myarray[i];
j=rand(i,600-1);
myarray[i]=myarray[j];
myarray[j]=a;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-04-26
思想就是

建立一个数组,随机选择题,在加入到数据之前先判断一下这个题有没有在这个数组里,如果已经在了就不加,否则就加入。
第2个回答  2006-05-07
建立一个数组,随机选择题,在加入到数据之前先判断一下这个题有没有在这个数组里,如果已经在了就不加,否则就加入。
至于这个打乱的算法,大致是这样
for (i=0;i<600;++i) {
a=myarray[i];
j=rand(i,600-1);
myarray[i]=myarray[j];
myarray[j]=a;
}
第3个回答  2006-05-03
我不会啊!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网