C++ 算法 upper_bound()2025 年 1 月 2 日 | 阅读 4 分钟 C++ 算法 upper_bound() 函数是二分查找的一个版本。此函数用于返回一个迭代器,指向范围 [first, last) 中第一个大于指定值 val 的元素。 第一个版本使用运算符 < 进行元素比较,第二个版本使用给定的比较函数,即 comp。 语法参数first: 指向要搜索的范围中第一个元素的前向迭代器。 last: 指向要搜索的范围中最后一个元素之后的前向迭代器。 comp:一个用户定义的二元谓词函数,接受两个参数,如果这两个参数有序则返回 true,否则返回 false。它遵循严格弱序来对元素进行排序。 val: 用于比较范围内元素的上界值。 返回值它返回一个迭代器,指向范围中第一个大于 val 的元素;如果未找到此类元素,则返回 last。 复杂度平均而言,复杂度与 first 和 last 之间的距离呈对数关系:执行最多 log2 (N) + 1 次元素比较,其中 N = last - first。 数据竞争访问范围 [first, last) 中的对象。 异常如果元素比较或迭代器操作抛出异常,此函数将抛出异常。 注意:无效参数会导致未定义行为。示例 1让我们看一个简单示例来演示 upper_bound() 的用法 输出 Upper bound of 3 is: 4 示例 2让我们看另一个简单示例 输出 lower_bound at position 3 upper_bound at position 6 示例 3让我们看另一个简单示例 输出 Here are the contents of v: 2 3 5 6 7 7 7 8 9 10 Upper bound of 3 in v = 5 Upper bound of 4 in v = 5 Upper bound of 5 in v = 6 Upper bound of 7 in v = 8 Upper bound of 0 in v = 2 Note that the upper bound location of 15 is the end (one-past-the-last) vector position. 示例 4让我们看另一个简单示例 输出 Upper bound of 'C' is d Upper bound of 'C' is C All elements are less than 'z'. 下一主题C++ 中的线程硬件并发函数 |
C++ 算法 lower_bound() C++ 算法 lower_bound() 函数是二分搜索的一个版本。此函数用于返回一个迭代器,指向有序范围 [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++ 算法函数 none_of() C++ 算法 none_of() 函数如果 'pred' 参数的值为 false 则返回 true。该值对于范围 [first, last) 中的所有元素都应为 false。语法模板 <class InputIterator, class UnaryPredicate> bool none_of (InputIterator first, InputIterator last, UnaryPredicate pred); 参数 first : 它指定...
阅读 2 分钟
C++ 算法函数 for_each() C++ 算法 for_each() 函数将函数 func 应用于从“first”到“last”范围内的所有元素。语法模板 <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function func); 参数 first: 指定列表中的第一个元素。last: 指定...
阅读 4 分钟
C++ 算法 fill() C++ Algorithm fill() 函数用于使用 operator= 将指定范围 [first, end) 中的所有元素赋值为相同的新值。注意:范围 [first, last) 表示 first 包含在范围内,但 last 不包含。语法模板 <class ForwardIterator, class T> void...
阅读 4 分钟
介绍:在动态的编程领域,充分利用硬件资源是关键。多线程,即多个线程同时执行,在实现并行性和提升性能方面发挥着至关重要的作用。C++作为一种通用的编程语言,提供了...
7 分钟阅读
C++ 算法 is_partitioned() C++ 算法 is_partitioned() 用于测试范围 [first, last) 是否根据谓词进行了分区。换句话说,范围中所有满足谓词的元素都在序列的开头。如果范围为空...
阅读 4 分钟
C++ 算法 partial_sort() C++ 算法 partial_sort() 函数用于重新排列范围 [first, last) 中的元素,使得 first 和 middle 之间的元素将被排序,而 middle 和 last 之间的元素将处于未指定顺序。这...
阅读 6 分钟
C++ 算法 fill_n() C++ 算法 fill_n() 函数用于将新值赋给从特定元素开始的指定数量的范围元素。这意味着在 fill_n() 中,我们指定起始位置、要填充的元素数量和要填充的值。语法模板 <class...
阅读 4 分钟
C++ 算法函数 copy_n() C++ 算法 copy_n() 函数指定要复制到新容器中的元素数量。该函数用于将容器 [first,last) 的 n 个元素复制到从 result 开始的不同容器中。语法模板<class InputIterator, class Size, class OutputIterator> OutputIterator copy_n(InputIterator first, Size...
阅读1分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India