STL Algorithms 非变易算法

存在:

bool all_of(Iterator first, Iterator last, pred)  
//如果所有元素都符合 pred 或(容器为空)返回 true ,否则返回 false。
bool any_of(Iterator first, Iterator last, pred)
//如果有元素符合 pred ,则返回 true ,否则返回 falst。
bool none_of(Iterator first, Iterator last, pred)
//如果没有元素符合 pred, 则返回 true, 否则返回 false。

遍历:

Function for_each(Iterator first, Iterator last, Function fun)
//遍历容器,对每个元素执行 fun 操作

查找:

Iterator find(Iterator first, Iterator last, const T& val)
//查找值为 val 的元素,并返回该迭代器,若无,则返回 last
Iterator find_if(Iterator firtst, Iterator last, pred)
//查找符合 pred 的元素,并返回该迭代器,若无,返回 last
Iterator find_if_not(Iterator first, Iterator last, pred)
//查找不符合 pred 的元素,并返回该迭代器,若无,返回 last
Iterator find_end(Iterator first1, Iterator last1, Iterator first2, Iterator last2, pred)
//从后往前查找序列1中与序列2匹配的子序列,返回首个元素的迭代器
Iterator find_first_of(Iterator first1, Iterator last2, Iterator first2, Iterator last2, pred)
//从前往后查找序列1中与序列2匹配的子序列,返回首个元素的迭代器
Iterator adjacent_find(Iterator first, Iterator last, pred)
//查找相邻元素相等,返回第一个的迭代器

数量:

int count(Iterator first, Iterator last,const T& val)
//返回与val值相等的个数,没有为0
int count_if(Iterator first, Iterator last, pred)
//返回与pred匹配的元素的个数
pair<Iterator it1, Iterator it2>  mismatch(first1,last1,first2)
//first1 和first2 序列一一比较,返回他们值第一次不相等时两边的迭代器
bool equal(Iterator first1, Iterator last1, Iterator first2)
//如果 first1 和 first2 序列的元素一一对应相等,返回true,否则返回false
bool is_permutation(Iterator first1, Iterator last1, Iterator first2)
//判断first1 和first2 序列中元素集是否一样(顺序不一样),一样返回true 

查找:

Iterator search(first1, last1, first2, last2);
//从左往右在序列1中找子序列2
Iterator search_n(first, last, size count, const T& val);
//查找序列中连续count个val值

 

posted @ 2017-11-03 10:26  小fanfan  阅读(131)  评论(0编辑  收藏  举报