只是标题。至少我知道数组可能不是我想要的数组。 cus我需要先生成一个随机索引,然后才能从数组中随机选取一项。您的意见。
我已将问题标题更改为“如果我需要从容器中随机获取一个项目,应该选择哪个stl容器”。我真正发现的是一个小屋
C,并且此Contain应该具有get_ramdom_member()方法,该方法将帮助我从Container C中随机获取项目而不提供任何key。
@binary:
我在容器中存储的实际上是socket fd。套接字的另一侧是“ erlang节点”。两个erlang节点一起充当集群。所以我存放了所有的插座
fds朝那个集群汇入一个容器。每次需要与集群交谈时,都需要选择一个fd。出于负载共享的目的,我需要随机获得一个。我不能告诉你们确切的Container需要维护的fd数量,但是目前它还不到10。但是谁能知道一天后这个数字是否是1000。
最佳答案
根据您提供的信息(不是很多),显而易见的答案是std::vector
。这样您就可以随机访问这些元素。关于标准容器的好处是,您可以在相对较小的工作量之间进行更改,因此,如果vector不能正常工作,则可以更改为另一个容器,而无需重新编写所有代码。
如果只想随机化容器的内容,请参见std::random_shuffle。