SGI

is_sorted

类别: 算法 组件类型: 函数

原型

Is_sorted是一个重载的名称;实际上有两个is_sorted函数。
template <class ForwardIterator>
bool is_sorted(ForwardIterator first, ForwardIterator last)

template <class ForwardIterator, class StrictWeakOrdering>
bool is_sorted(ForwardIterator first, ForwardIterator last,
               StrictWeakOrdering comp)

描述

Is_sorted返回true如果范围[first, last)按升序排序,并且false否则。

这两个版本的is_sorted在它们如何定义一个元素是否小于另一个元素方面有所不同。第一个版本使用operator<比较对象,第二个版本使用 函数对象comp比较对象。第一个版本is_sorted返回true当且仅当对于每个迭代器i在范围内[first, last - 1), *(i + 1) < *ifalse。第二个版本返回true当且仅当对于每个迭代器i在范围内[first, last - 1), comp(*(i + 1), *i)false

定义

algo.h 中定义。

类型要求

对于第一个版本对于第二个版本

先决条件

复杂度

线性。如果[first, last)是空范围,则为零比较,否则最多为(last - first) - 1比较。

示例

int A[] = {1, 4, 2, 8, 5, 7};
const int N = sizeof(A) / sizeof(int);

assert(!is_sorted(A, A + N));
sort(A, A + N);
assert(is_sorted(A, A + N));

注释

另请参阅

sort, stable_sort, partial_sort, partial_sort_copy, sort_heap, binary_search, lower_bound, upper_bound, less<T>, 严格弱排序, 小于可比较
[Silicon Surf] [STL Home]
版权 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息