随机排序std::vector,扑克牌,麻将类尤其合用

有些需要重新对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集合来实现随机吧

原文地址:https://www.cnblogs.com/zhujiechang/p/8665557.html