gpt4 book ai didi

c++ - 随机选择字典单词

转载 作者:行者123 更新时间:2023-11-30 03:03:10 24 4
gpt4 key购买 nike

我想从一个数组中随机选择一些单词来组成总共 36 个字母。

起初我尝试随机选择一个词,并在检查它不超过我们拥有的可用空间量后添加它。这效率不高,因为列表会被填满,而且只有 2-3 个字母的单词会留下空白空间,而且找到这么短的单词需要很长时间。

所以我决定只选择六个 6 个字母的单词,我通过生成一个随机数然后将它递增 1 直到我们找到一个 6 个字母的单词来做到这一点。它非常快,但单词并不是那么随机,我经常得到以同一个字母开头的单词或仅以 a、b、c 或 x、y、z 等字母顺序开头的单词。

srand ( time(NULL) );
for(int i=0;i<6;i++)
{
randNumb = rand()%dictionary.size();
while(dictionary.at(randNumb).length() != 6)
{
randNumb++;
}
a << "/" << dictionary.at(randNumb) << "/";
}

我想选择不同长度的词,但为了性能,我会选择 6 个字母的词,但我至少希望它们更随机地选择。

最佳答案

你应该得到一个新的随机数而不是增加索引。你这样做的方式,所有不符合你的标准的字符串“吸引”了更多的随机数,并可能导致以下字符串被选中的概率更高。

关于c++ - 随机选择字典单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9554963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com