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++ 算法 |
C++ 算法函数 equal() C++ 算法 equal() 函数比较两个容器中的元素,如果两个容器中的所有元素都匹配,则返回 true。第一个范围是 [first1,last1),第二个范围从 first2 开始。语法 template<class InputIterator1, class...
阅读 2 分钟
C++ 算法 includes() C++ 算法 includes() 函数如果排序范围 [first2, last2) 中的每个元素都在排序范围 [first1, last1) 中找到,则返回 true。如果 [first2, last2) 为空,它也返回 true。元素使用第一个版本中的运算符 < 或使用给定...
5 分钟阅读
C++ 算法 equal_range() C++ 算法 equal_range() 函数是二分搜索的一个版本。此函数用于返回子范围的下限和上限,该子范围包含范围 [first, last) 中所有与 val 等效的元素。其中子范围定义为...
7 分钟阅读
C++ 算法函数 copy() C++ 算法 copy() 函数用于将容器 [first,last] 中的所有元素复制到从 result 开始的不同容器中。语法模板<class InputIterator, class OutputIterator>OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result); 参数 first: 它是一个输入迭代器,指向范围的第一个元素,...
阅读1分钟
C++ 算法 partition_point() C++ 算法 partition_point() 函数用于返回给定范围中 pred 不为 true 的第一个元素。元素按满足条件的元素排在不满足条件的元素之前的方式排序。语法模板 <class...
5 分钟阅读
C++ 算法 partition() C++ 算法 partition() 函数用于根据其参数中提到的给定谓词(条件)对元素进行分区。如果容器被分区,则此函数返回 true,否则返回 false。语法模板 <class BidirectionalIterator, class UnaryPredicate> BidirectionalIterator partition (BidirectionalIterator first, BidirectionalIterator last, UnaryPredicate...
5 分钟阅读
C++ 算法 transform() C++ 算法 transform() 函数以两种不同的方式使用: 1. 一元操作:- 此方法对范围 [first1, last1] 中的元素执行一元操作 op,并将结果存储在从 result 开始的范围中。此 transform() 将函数应用于范围的每个元素: 2. 二元...
5 分钟阅读
C++ 算法 upper_bound() C++ 算法 upper_bound() 函数是二分查找的一种版本。此函数用于返回一个迭代器,指向范围 [first, last) 中第一个大于指定值 val 的元素。第一个版本使用运算符 < 进行比较...
5 分钟阅读
C++ 算法函数 find_if_not() C++ 算法 find_if_not() 函数返回范围内谓词值为 false 的第一个元素的值,否则返回范围的最后一个元素。语法模板 <class InputIterator, class UnaryPredicate> InputIterator find_if_not (InputIterator first, InputIterator last, UnaryPredicate pred); 参数 first: 它指定了...
阅读 2 分钟
C++ 算法 unique_copy() C++ 算法 unique_copy() 函数用于复制序列,使得每个连续的重复元素都成为唯一元素。它不会改变原始范围,并将结果复制到另一个容器中。第一个版本使用 operator== 比较元素,第二个版本...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India