C++ Algorithm is_sorted_until()30 Aug 2024 | 3 分钟阅读 C++ 算法 is_sorted_until() 函数用于查找范围内的第一个未排序元素。这意味着它返回一个迭代器,指向范围 [first, last) 中不遵循升序的第一个元素。 第一个版本使用运算符 < 比较元素,第二个版本使用 comp 比较元素。 语法参数first:指向要检查范围中第一个元素的正向迭代器。 last:指向要检查范围中最后一个元素之后的随机访问迭代器。 comp:一个用户定义的二元谓词函数,接受两个参数,如果这两个参数有序则返回true,否则返回false。它遵循严格的弱排序来对元素进行排序。 返回值如果范围未排序,它返回指向第一个元素的迭代器;如果整个范围已排序,则返回 last。 复杂度复杂度在 first 和 last 之间是线性的:为每个元素调用 comp,直到找到不匹配项。 数据竞争访问范围 [first, last) 中的对象。 异常如果 comp 或迭代器上的操作抛出异常,此函数将抛出异常。 请注意,无效参数会导致未定义行为。示例 1让我们看一个简单的例子来演示 is_sorted_until() 的用法 输出 Before: is it sorted? false After: is it sorted? true 示例 2让我们看另一个简单示例 输出 First unsorted element = C Entire vector is sorted. 示例 3让我们看另一个简单示例 输出 First unsorted element = 3 示例 4让我们看另一个简单示例 输出 foo: 2 3 4 1 (3 elements sorted) foo: 2 3 1 4 (2 elements sorted) foo: 2 1 4 3 (1 elements sorted) foo: 2 1 3 4 (1 elements sorted) foo: 1 4 3 2 (2 elements sorted) foo: 1 4 2 3 (2 elements sorted) foo: 1 3 4 2 (3 elements sorted) foo: 1 3 2 4 (2 elements sorted) foo: 1 2 4 3 (3 elements sorted) foo: 1 2 3 4 (4 elements sorted) the range is sorted! 下一主题C++ 算法 |
C++ 算法 is_partitioned() C++ 算法 is_partitioned() 用于测试范围 [first, last) 是否根据谓词进行了分区。换句话说,范围中所有满足谓词的元素都在序列的开头。如果范围为空...
阅读 4 分钟
C++ 算法 partition_point() C++ 算法 partition_point() 函数用于返回给定范围中 pred 不为 true 的第一个元素。元素按满足条件的元素排在不满足条件的元素之前的方式排序。语法模板 <class...
5 分钟阅读
C++ 算法函数 all_of() C++ 算法 all_of() 函数在 'pred' 参数的值为 true 时返回 true。该值对于范围 [first, last] 中的所有元素都应为 true。语法模板 <class InputIterator, class UnaryPredicate> bool all_of (InputIterator first, InputIterator last, UnaryPredicate pred); 参数 first: 它指定了...
阅读1分钟
C++ 算法 equal_range() C++ 算法 equal_range() 函数是二分搜索的一个版本。此函数用于返回子范围的下限和上限,该子范围包含范围 [first, last) 中所有与 val 等效的元素。其中子范围定义为...
7 分钟阅读
C++ 算法 fill_n() C++ 算法 fill_n() 函数用于将新值赋给从特定元素开始的指定数量的范围元素。这意味着在 fill_n() 中,我们指定起始位置、要填充的元素数量和要填充的值。语法模板 <class...
阅读 4 分钟
C++ 算法 replace() C++ 算法 replace() 函数用于在范围 [first, last) 中将所有等于 old_value 的值替换为 new_value。此函数检查范围中的每个元素,如果它与指定值匹配,则替换它。语法模板 <class ForwardIterator, class T> void...
阅读 4 分钟
C++ 算法 swap() 函数 C++ 算法 swap() 函数交换或说互换两个引用容器的值。语法 template<class T> void swap(T& a, T& b); 参数 a: 它是具有某些值的第一个容器。b: 它是具有某些值的另一个容器。返回值 此函数仅交换值...
阅读 2 分钟
C++ 算法函数 count_if() C++ 算法 count_if() 函数有一个 'pred' 值,并返回范围 [first, last) 中 pred 值为 true 的元素的数量。语法模板 <class InputIterator, class UnaryPredicate> typename iterator_traits<InputIterator>::difference_type count_if(InputIterator first, InputIterator last,UnaryPredicate pred); 参数 first: 它是一个输入迭代器...
阅读1分钟
C++ 算法函数 move backward () 该函数用于向后移动元素,它接受三个参数,然后移动属于范围 [first,last) 的元素。元素的移动以相反的顺序开始,终止点在“result”处。语法模板<class BidirectionalIterator1,...
阅读 2 分钟
C++ 算法 unique() C++ Algorithm unique() 函数用于转换序列,使得每个连续的重复元素都成为唯一的元素。第一个版本使用 operator== 比较元素,第二个版本使用给定的二元谓词 pred。语法相等性 (1) 模板 <class...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India