Namespaces
Variants

std:: shuffle_order_engine

From cppreference.net
定义于头文件 <random>
template <

class Engine,
std:: size_t K

> class shuffle_order_engine ;
(C++11 起)

shuffle_order_engine 是一种随机数引擎适配器,用于对基础引擎生成的随机数进行重排序。它维护一个大小为 K 的表格,并在请求时从该表格中随机选取一个数值输出,同时使用基础引擎生成的数值替换被选取的数值。

以下 typedef 定义了随机数引擎及其一组常用参数:

定义于头文件 <random>
类型 定义
knuth_b (C++11) std :: shuffle_order_engine < std:: minstd_rand0 , 256 >

目录

模板参数

Engine - 被包装引擎的类型
K - 内部表的大小。必须大于 0
类型要求
-
Engine 必须满足 RandomNumberEngine 的要求。

成员类型

成员类型 定义
result_type (C++11) Engine::result_type

成员函数

构造引擎适配器
(公开成员函数)
(C++11)
设置底层引擎的状态
(公开成员函数)
(C++11)
返回底层引擎
(公开成员函数)
生成
(C++11)
推进底层引擎状态并返回生成值
(公开成员函数)
(C++11)
按指定量推进适配器状态
(公开成员函数)
特性
[static] (C++11)
获取底层引擎输出范围的最小可能值
(公开静态成员函数)
[static] (C++11)
获取底层引擎输出范围的最大可能值
(公开静态成员函数)

非成员函数

(C++11) (C++11) (removed in C++20)
比较适配器与底层引擎的内部状态
(函数)
对伪随机数引擎适配器执行流输入和输出操作
(函数)

成员对象

constexpr size_t table_size
[static] (C++11)
内部表的大小, K
(公开静态成员常量)

示例