STL: 测试序列中元素

本文详细介绍了C++ STL中的多个实用算法,包括all_of、any_of、none_of等用于检查范围内的元素是否满足特定条件的算法,以及is_heap、is_heap_until等用于堆操作的算法,还有is_partitioned、is_sorted、is_sorted_until等用于排序和分区的算法。

all_of

Returns true when a condition is present at each element in the given range.

template<class InputIterator, class Predicate>
    bool all_of(
        InputIterator _First, 
        InputIterator _Last, 
        BinaryPredicate _Comp
    );

any_of

Returns true when a condition is present at least once in the specified range of elements.

 
template<class InputIterator, class UnaryPredicate>
    bool any_of(
        InputIterator _First, 
        InputIterator _Last, 
        UnaryPredicate _Comp
    );

none_of

Returns true when a condition is never present among elements in the given range.

template<class InputIterator, class BinaryPredicate> 
    bool none_of( 
        InputIterator _First, 
        InputIterator _Last, 
        BinaryPredicate _Comp 
    );

 

is_heap

Returns true if the elements in the specified range form a heap.

template<class RandomAccessIterator>
    bool is_heap(
        RandomAccessIterator _First,
        RandomAccessIterator _Last
    );
template<class RandomAccessIterator, class BinaryPredicate>
    bool is_heap(
        RandomAccessIterator _First,
        RandomAccessIterator _Last,
        BinaryPredicate _Comp
    );

注,The first template function returns is_heap_until(_First,_Last) ==_Last.

The second template function returns  is_heap_until(_First,_Last,_Comp) ==_Last.

 

is_heap_until

Returns a RandomAccessIterator that is set to the last element that forms a heap.(VS2012文档这里好像有问题,文档显示返回bool,但是编译器提示为一个迭代器)

template<class RandomAccessIterator>
    RandomAccessIterator is_heap_until(
        RandomAccessIterator _First, 
        RandomAccessIterator _Last
);
template<class RandomAccessIterator, class BinaryPredicate> 
    RandomAccessIterator is_heap_until(
        RandomAccessIterator _First, 
        RandomAccessIterator _Last, 
        BinaryPredicate _Comp
);

 

is_partitioned

Returns true if all the elements in the given range that test true for a condition come before any elements that test false.

 
template<class InputIterator, class BinaryPredicate>
    bool is_partitioned(
        InputIterator _First, 
        InputIterator _Last,
        BinaryPredicate _Comp
    );

is_sorted

Returns true if the elements in the specified range are in sorted order.

template<class ForwardIterator>
    bool is_sorted(
        ForwardIterator _First, 
        ForwardIterator _Last
    );
template<class ForwardIterator, class BinaryPredicate>
    bool is_sorted(
        ForwardIterator _First, 
        ForwardIterator _Last, 
        BinaryPredicate _Comp
    );

注,

The first template function returns is_sorted_until(_First,_Last) ==_Last. The operator< function performs the order comparison.

The second template function returns is_sorted_until(_First,_Last,_Comp) ==_Last. The _Comp predicate function performs the order comparison.

is_sorted_until

Returns a ForwardIterator that is set to the last element that is in sorted order from a specified range.

The second version lets you provide a BinaryPredicate function that returns true when two given elements are in sorted order, and false otherwise.

template<class ForwardIterator>
    ForwardIterator is_sorted_until(
        ForwardIterator _First, 
        ForwardIterator _Last
    );
template<class ForwardIterator, class BinaryPredicate>
    ForwardIterator is_sorted_until(
        ForwardIterator _First, 
        ForwardIterator _Last, 
        BinaryPredicate _Comp
    );

 

转载于:https://www.cnblogs.com/freewater/archive/2013/03/11/2954321.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值