C++ Algorithm partial_sort()2024年8月30日 | 阅读4分钟 C++ Algorithm partial_sort() 函数用于重新排列范围 [first, last) 中的元素,使得 first 和 middle 之间的元素被排序,而 middle 和 last 之间的元素则处于未指定顺序。 第一个版本使用运算符 < 比较元素,第二个版本使用 comp 比较元素。 语法参数first: 指向要进行部分排序的范围中第一个元素的随机访问迭代器。 last: 指向要进行部分排序的范围中最后一个元素之后的随机访问迭代器。 middle: 指向要排序的子范围中最终元素之后的随机访问迭代器。 comp:一个用户定义的二元谓词函数,接受两个参数,如果这两个参数有序则返回true,否则返回false。它遵循严格的弱排序来对元素进行排序。 返回值无 复杂度平均复杂度小于 first 和 last 之间距离的线性对数。执行最多 N*log (M) 次元素比较,其中 N = last - first 且 M = middle - first。 数据竞争范围 [first, last) 中的对象会被更改。 异常如果任何元素比较、元素交换(或移动)或迭代器操作抛出异常,此函数将抛出异常。 注意:无效参数会导致未定义行为。示例 1让我们看一个简单的例子来演示 partial_sort() 的用法 输出 Before sorting: 3 1 4 2 5 After sorting: 1 2 4 3 5 示例 2让我们看另一个简单示例 输出 myvector contains: 1 2 3 4 5 9 8 7 6 示例 3让我们看一个默认版本的简单例子 输出 Before calling partial_sort Numbers { 4 10 70 30 10 69 96 7 } After calling partial_sort Numbers { 4 7 10 10 70 69 96 30 } 示例 4让我们看一个自定义(谓词)版本的简单例子 输出 Before calling partial_sort Numbers { 4 10 70 30 10 69 96 7 } After calling partial_sort Numbers { 4 7 10 10 70 69 96 30 } 下一主题C++ 算法 |
C++ 算法 inplace_merge() C++ 算法 inplace_merge() 函数用于将两个连续的已排序范围 [first, middle) 和 [middle, last) 合并为一个已排序范围 [first, last)。第一个版本使用 operator < 比较元素,第二个版本使用给定的二元比较函数 comp 比较元素。语法 默认...
5 分钟阅读
C++ 算法 merge() C++ 算法 merge() 函数用于将两个已排序的范围 [first1, last1) 和 [first2, last2) 合并成一个从 result 开始的已排序范围。第一个版本使用运算符 < 比较元素,第二个版本使用给定的二进制比较函数 comp 比较元素...
阅读 6 分钟
C++ 算法 partition_copy() C++ Algorithm partition_copy() 函数用于将满足条件的元素复制到一个目标,将不满足条件的元素复制到另一个目标。元素必须属于指定的范围。语法模板 <class InputIterator, class OutputIterator1, ...
阅读 4 分钟
C++ 算法 remove() C++ 算法 remove() 函数用于从给定范围 [first, last) 中删除所有等于 val 的元素,而不扰乱其余元素的顺序。此函数不能改变容器的大小。它返回一个迭代器,指向...
5 分钟阅读
C++算法shuffle() C++算法shuffle()函数通过使用g作为统一随机数生成器,将范围内的元素重新排序,将它们放置在随机位置。语法模板 <class RandomAccessIterator, class URNG> void shuffle (RandomAccessIterator first, RandomAccessIterator last, URNG&& g); 参数first:指向位置的随机访问迭代器...
阅读 2 分钟
C++ 算法 nth_element() C++ 算法 nth_element() 函数用于将 first 和 nth 元素之间的元素按升序排序,而 nth 和 last 之间的元素则不排序。然而,nth 和 last 之间没有元素小于 first 和...
阅读 6 分钟
C++ 算法 set_union() C++ 算法 set_union() 函数用于查找两个已排序范围 [first1, last1) 和 [first2, last2) 的并集,该并集由存在于其中一个集合或两个集合中的元素组成。元素使用运算符 < 进行比较...
阅读 6 分钟
C++ 算法 unique() C++ Algorithm unique() 函数用于转换序列,使得每个连续的重复元素都成为唯一的元素。第一个版本使用 operator== 比较元素,第二个版本使用给定的二元谓词 pred。语法相等性 (1) 模板 <class...
7 分钟阅读
C++ 算法 remove_copy() C++ 算法 remove_copy() 函数用于将所有不等于 val 的元素从范围 [first, last) 复制到提供的 result,而不改变剩余元素的顺序。此函数不能改变容器的大小。它返回一个迭代器...
阅读 4 分钟
C++ 算法 replace_copy() C++ 算法 replace_copy() 函数用于复制范围 [first, last),并将所有 old_value 替换为 new_value。它使用运算符= 进行复制,并使用运算符== 比较元素。此函数检查每个元素...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India