你误解了,我没有用array或任何vector又push又delete的方式。
简单来说,比如你的text file里有10题问题,
原本的排序应该是:0,1,2,3,4,5,6,7,8,9
随机打乱:8,6,9,3,1,0,5,7,4,2
如果説你只要五题,所以拿前面五个即可,为:8,6,9,3,1
用排序的方式就绝对不会出现随机重复的问题。
--------------
用你的理论如果要解决,其实简单。
生成一个问题数的array,比如説text file里有十题:arrayA[10]
然后arrayA里的value就为0-9。
这个时候你就取10里的randam number,比如説5
然后把arrayA[5]的value储存到另一个arrayB,然后在从arrayA删了index 5,
这过程重复到arrayB的大小和你需要的题目相同为止。
---------------
当然,从你的code入手你可以在 random_integer[q] = rand() % question.size(); 之前做个detection,看看random_integer里头是否已经存在同样的value,无继续,有则下一个。当然,这效率绝对是惨不忍睹。
---------------
你的 project 如果只是这样还真的是小菜一叠,有详情么?




