C++ Algorithm shuffle()

2024 年 8 月 30 日 | 阅读 2 分钟

C++ 算法中的 shuffle() 函数通过将元素放置在随机位置来重新排序指定范围内的元素,它使用 g 作为均匀随机数生成器。

语法

参数

first: 一个随机访问迭代器,指向要重新排列的范围中第一个元素的位置。

last: 一个随机访问迭代器,指向要重新排列的范围中最后一个元素之后的位置。

g: 一个特殊的函数对象,称为均匀随机数生成器。

返回值

复杂度

复杂度在范围 [first, last) 内是线性的:获取随机值并交换元素。

数据竞争

范围 [first, last) 中的对象被修改。

异常

如果任何随机数生成、元素交换或迭代器操作抛出异常,此函数将抛出异常。

请注意,无效参数会导致未定义行为。

示例 1

让我们看一个简单的例子来演示 shuffle() 的用法

输出

shuffled elements: 4 1 3 5 2

示例 2

让我们看另一个简单示例

输出

8 6 10 4 2 3 7 1 9 5

示例 3

让我们看另一个简单示例

输出

before: 0 1 2 3 4 5 6 7 8 9 
 after: 4 3 1 2 7 0 8 9 6 5

下一主题C++ 算法