如何使用向量中的信息填充数组并从数组中选择随机项

How do I populate an array with information from a vector and select a random item from the array?

本文关键字:数组 选择 随机 填充 何使用 向量 信息      更新时间:2023-10-16

我需要将向量中的信息加载到数组中,有人知道我该怎么做吗?

我正在做的是,你可以将数据输入到文本文件中,而不是让它从列表中随机抽取(编号)项目。

我感谢你能为我完成这项任务提供的任何帮助。

试试这样的东西:

#include <random>
...
srand( time(NULL) );        // Initializes the random seed
string randFromVector;
randFromVector = vlist[ rand() % vlist.size() ];    // Takes the data at this address

rand()提供了一个随机数(从技术上讲是"psuedo"随机数)。然后,我们对vlist的长度使用模块化,以确保它引用了合法地址。

edit:您只需要初始化一次随机种子。每次调用rand(),它都会返回一个不同的数字。

你也可以通过这样做来消除模量偏差:

int x;
do {
    x= rand();
} while ( x >= vlist.size() );
randFromVector = vlist[ x];