姬長信(Redy)

如何从C容器中获取随机元素?


从STL范围获取[伪]随机元素的好方法是什么?

我能想到的最好的是做std :: random_shuffle(c.begin(),c.end())然后从c.begin()获取我的随机元素.

但是,我可能想要一个const容器中的随机元素,或者我可能不想要完全洗牌的成本.

有没有更好的办法?