有些需要重新对std::vector对象重新排序,特别是游戏,例如说:扑克牌,麻将,抽奖等,C++标准已经为std::vector写好了随机排序的方式,这里做个笔记:

 

#include <algorithm>

。。。。。


std::random_shuffle(cards_.begin(), cards_.end());



//在C++11的标准里面又添加了

#include <algorithm>
#include <random>

auto rng = std::default_random_engine {};
std::shuffle(std::begin(cards_), std::end(cards_), rng);

  随机本来是挺简单的,日常大家的做法是rand()%n,即可得到一个n范围内的变量,来自行随机,但实际的效果没有std实现的随机好,实在想用的话,使用创建std::vector集合来实现随机吧

 

posted on 2018-03-28 18:36  breeze  阅读(386)  评论(0编辑  收藏  举报