类别: 算法 | 组件类型: 函数 |
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在它们如何定义一个元素是否小于另一个元素方面有所不同。第一个版本使用operator<比较对象,第二个版本使用 函数对象comp比较对象。第一个版本is_sorted返回true当且仅当对于每个迭代器i在范围内[first, last - 1), *(i + 1) < *i是false。第二个版本返回true当且仅当对于每个迭代器i在范围内[first, last - 1), comp(*(i + 1), *i)是false
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));