如何制作二进制数列表

时间:2015-02-18 19:42:21

标签: c++ random

我希望有一个函数来列出二进制随机数。我不知道哪种方法适合于此目的。我可以使用数组,while命令,链表或std ..

我想从函数中返回整个列表。在阵列中,我认为我无法做到这一点。例如,以下函数仅返回第一个元素。

long int  SourceNode::database(long int chunk_var[])
{
    srand ( time(0) );
    for(int j = 0; j<50 ;j++)
    {
        int myrand = rand() % 2 ;
        myrand = myrand & 0x3ff;
        chunk_var[j]= myrand;
    }
    return *chunk_var;
}

我想要一些东西来返回整个列表,因为我想在另一个函数中调用该函数(整个列表)。是否有替代解决方案而不是制作阵列?

2 个答案:

答案 0 :(得分:0)

您可以返回vector<bool>vector<uint32_t>。这将比任何其他选项更容易。 BTW,C ++ 11添加了一个更友好的的新random number generator,而可能使用比rand更好的基础算法。

答案 1 :(得分:0)

只需将您获得的数组作为参数返回:

long int *SourceNode::database(long int chunk_var[])
{
    ......... // fill the array with numbers
    return chunk_var;
}

但是我想你还需要将数组长度作为另一个参数传递给函数,以便函数知道允许覆盖的项目数。