C++ 算法 is_sorted()2024年8月30日 | 阅读4分钟 C++ 算法 is_sorted() 函数如果范围 [first, last) 中的元素按升序排列,则返回 true。 第一个版本使用运算符 < 比较元素,第二个版本使用 comp 比较元素。 语法参数first:指向要检查的范围中第一个元素的前向迭代器。 last:指向要检查的范围中最后一个元素之后的随机访问迭代器。 comp:一个用户定义的二元谓词函数,接受两个参数,如果这两个参数有序则返回 true,否则返回 false。它遵循严格弱序来对元素进行排序。 返回值如果范围 [first, last) 按升序排列,则返回 true,否则返回 false。 复杂度复杂性与 first 和 last 之间的距离呈线性关系:比较元素对直到找到不匹配项。 数据竞争访问范围 [first, last) 中的对象。 异常如果元素比较或迭代器操作抛出异常,此函数将抛出异常。 注意:无效参数会导致未定义行为。示例 1让我们看一个简单示例来演示 is_sorted() 的用法。 输出 before sorting: is sorted? false after sorting : is sorted? True 示例 2让我们看另一个简单示例 输出 a: 2 3 5 4 1 a: 2 3 5 1 4 a: 2 3 4 5 1 a: 2 3 4 1 5 a: 2 3 1 5 4 a: 2 3 1 4 5 a: 2 1 5 4 3 a: 2 1 5 3 4 a: 2 1 4 5 3 a: 2 1 4 3 5 a: 2 1 3 5 4 a: 2 1 3 4 5 a: 1 5 4 3 2 a: 1 5 4 2 3 a: 1 5 3 4 2 a: 1 5 3 2 4 a: 1 5 2 4 3 a: 1 5 2 3 4 a: 1 4 5 3 2 a: 1 4 5 2 3 a: 1 4 3 5 2 a: 1 4 3 2 5 a: 1 4 2 5 3 a: 1 4 2 3 5 a: 1 3 5 4 2 a: 1 3 5 2 4 a: 1 3 4 5 2 a: 1 3 4 2 5 a: 1 3 2 5 4 a: 1 3 2 4 5 a: 1 2 5 4 3 a: 1 2 5 3 4 a: 1 2 4 5 3 a: 1 2 4 3 5 a: 1 2 3 5 4 a: 1 2 3 4 5 the range is sorted! 上面的示例显示了排序序列,并打印元素直到它被排序。 示例 3让我们看另一个简单示例来检查元素是否已排序。 输出 3 1 4 1 5 : is_sorted: false 1 1 3 4 5 : is_sorted: true 示例 4让我们看另一个简单示例 输出 Vector elements are not sorted in ascending order. Vector elements are sorted in ascending order. 下一主题C++ 算法 |
C++ 算法 is_partitioned() C++ 算法 is_partitioned() 用于测试范围 [first, last) 是否根据谓词进行了分区。换句话说,范围中所有满足谓词的元素都在序列的开头。如果范围为空...
阅读 4 分钟
C++ 算法函数 copy_backward() C++ 算法 copy_backward() 函数用于反向复制元素,它接受三个参数,然后复制属于范围 [first,last] 的元素。元素的复制以反向开始,终止点在 'result'。语法模板 <class BidirectionalIterator1,...
阅读 2 分钟
C++ 算法函数 copy() C++ 算法 copy() 函数用于将容器 [first,last] 中的所有元素复制到从 result 开始的不同容器中。语法模板<class InputIterator, class OutputIterator>OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result); 参数 first: 它是一个输入迭代器,指向范围的第一个元素,...
阅读1分钟
C++ 算法 is_sorted_until() C++ 算法 is_sorted_until() 函数用于查找范围内的第一个未排序元素。这意味着它返回一个迭代器,指向范围 [first, last) 中不遵循升序的第一个元素。元素使用运算符 < 进行比较...
阅读 4 分钟
C++ 算法函数 copy_n() C++ 算法 copy_n() 函数指定要复制到新容器中的元素数量。该函数用于将容器 [first,last) 的 n 个元素复制到从 result 开始的不同容器中。语法模板<class InputIterator, class Size, class OutputIterator> OutputIterator copy_n(InputIterator first, Size...
阅读1分钟
C++ 算法 reverse() C++ 算法 reverse() 函数用于反转范围 [first, last) 内元素的顺序。语法模板 <class BidirectionalIterator> void reverse (BidirectionalIterator first, BidirectionalIterator last); 注意:BidirectionalIterator 是一种迭代器,用于以正向和...
阅读 4 分钟
C++ 算法函数 move backward () 该函数用于向后移动元素,它接受三个参数,然后移动属于范围 [first,last) 的元素。元素的移动以相反的顺序开始,终止点在“result”处。语法模板<class BidirectionalIterator1,...
阅读 2 分钟
C++ 算法函数 count() C++ 算法 count() 函数接受 'val' 作为参数,并比较元素 'val' 在范围内的出现次数。返回该元素的出现次数。语法模板 <class InputIterator, class T> typename iterator_traits<InputIterator>::difference_type count (InputIterator first, InputIterator last, const T& val); 参数 first: 它是一个...
阅读1分钟
C++ 算法 includes() C++ 算法 includes() 函数如果排序范围 [first2, last2) 中的每个元素都在排序范围 [first1, last1) 中找到,则返回 true。如果 [first2, last2) 为空,它也返回 true。元素使用第一个版本中的运算符 < 或使用给定...
5 分钟阅读
C++ 算法 stable_partition() C++ 算法 stable_partition() 函数用于对范围 [first, last) 中的元素进行分类,使得所有 pred 返回 true 的元素都排在所有 pred 返回 false 的元素之前,同时保留元素的相对顺序。注意:...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India