C++ Algorithm random_shuffle()30 Aug 2024 | 3 分钟阅读 C++ 算法 random_shuffle() 通过将范围内的元素随机放置来重新排序。 第一个版本使用内部随机数生成器,第二个版本使用随机数生成器,它是一种特殊的函数对象,作为参数显式传递。 语法参数first:指向要重新排列的范围中第一个元素位置的随机访问迭代器。 last:指向要重新排列的范围中最终元素之后一个位置的随机访问迭代器。 result:指向目标范围中第一个元素位置的输出迭代器。 gen:一个特殊的函数对象,称为随机数生成器。 返回值无 复杂度复杂性与范围 [first, last) 成线性关系:获取随机值并交换元素。 数据竞争范围 [first, last) 中的对象被修改。 结果和返回值之间的范围内的对象将被更改。 异常如果任何随机数生成、元素交换或迭代器操作抛出异常,此函数将抛出异常。 请注意,无效参数会导致未定义行为。 示例 1让我们看一个简单的例子来演示 random_shuffle() 的用法 输出 before: 0 1 2 3 4 5 6 7 8 9 after: 4 3 7 8 0 5 2 1 6 9 示例 2让我们看另一个简单示例 输出 Here are the values in the vector: 1 2 3 4 5 6 7 8 9 10 Now we randomize the order of the values. Here are the revised contents of the vector: 5 4 8 9 1 6 3 2 7 10 示例 3让我们看另一个简单示例 输出 Original order : A 2 3 4 5 6 7 8 9 10 J Q K Shuffling cards in uniformly random order ... Pick any three cards ... You have got : 9, 8, 4 示例 4让我们看另一个简单示例 输出 myvector contains: 9 7 5 6 3 4 2 8 1 下一主题C++ 算法 |
C++ 算法函数 find_first_of() C++ 算法 find_first_of() 函数比较两个容器 [first1, last1) 和 [first2, last2) 中存储的值。如果在 [first1, last1) 中找到与 [first2, last2) 范围中元素相似的元素,则返回指向该元素的迭代器...
阅读 2 分钟
C++ 算法 includes() C++ 算法 includes() 函数如果排序范围 [first2, last2) 中的每个元素都在排序范围 [first1, last1) 中找到,则返回 true。如果 [first2, last2) 为空,它也返回 true。元素使用第一个版本中的运算符 < 或使用给定...
5 分钟阅读
C++ 算法 is_partitioned() C++ 算法 is_partitioned() 用于测试范围 [first, last) 是否根据谓词进行了分区。换句话说,范围中所有满足谓词的元素都在序列的开头。如果范围为空...
阅读 4 分钟
C++ 算法函数 copy() C++ 算法 copy() 函数用于将容器 [first,last] 中的所有元素复制到从 result 开始的不同容器中。语法模板<class InputIterator, class OutputIterator>OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result); 参数 first: 它是一个输入迭代器,指向范围的第一个元素,...
阅读1分钟
C++ 算法 merge() C++ 算法 merge() 函数用于将两个已排序的范围 [first1, last1) 和 [first2, last2) 合并成一个从 result 开始的已排序范围。第一个版本使用运算符 < 比较元素,第二个版本使用给定的二进制比较函数 comp 比较元素...
阅读 6 分钟
C++ 算法 stable_partition() C++ 算法 stable_partition() 函数用于对范围 [first, last) 中的元素进行分类,使得所有 pred 返回 true 的元素都排在所有 pred 返回 false 的元素之前,同时保留元素的相对顺序。注意:...
阅读 4 分钟
C++ 算法函数 equal() C++ 算法 equal() 函数比较两个容器中的元素,如果两个容器中的所有元素都匹配,则返回 true。第一个范围是 [first1,last1),第二个范围从 first2 开始。语法 template<class InputIterator1, class...
阅读 2 分钟
C++ 算法 sort() C++ 算法 sort() 函数用于将范围 [first, last) 中的元素按升序排序。第一个版本使用 operator < 比较元素,第二个版本使用 comp 比较元素。语法 默认 (1) template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last); 自定义...
5 分钟阅读
C++ 算法 rotate() C++ 算法 rotate() 函数用于旋转范围 [first, last) 中元素的顺序。序列将从源序列中间的元素开始,最后一个元素将紧跟第一个元素。中间到元素之间...
7 分钟阅读
C++ 算法函数 find_if() C++ Algorithm find_if() 函数返回范围中第一个满足 pred 条件的元素的值,否则返回范围的最后一个元素。语法模板 <class InputIterator, class UnaryPredicate> InputIterator find_if (InputIterator first, InputIterator last, UnaryPredicate pred); 参数 first:它指定...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India