函数 | 说明 |
---|---|
for_each() | 对每个元素执行某操作 |
count() | 返回元素个数 |
count_if() | 返回满足某一准则(条件)的元素个数 |
min_element() | 返回最小值元素(以迭代器表示) |
max_element() | 返回最大值元素(以迭代器表示) |
find() | 搜寻等于某值的第一个元素 |
find_if() | 搜寻满足某个准则的第一个元素 |
search_n() | 搜寻具有某特性的第一段“n个连续元素” |
search() | 搜寻某个子区间第一次出现的位置 |
find_end() | 搜寻某个子区间最后一次出现的位置 |
find_first_of() | 搜寻等于“某数个值之一”的第一个元素 |
adjacent_find() | 搜寻连续两个相等(或符合特定准则)的元素 |
equal() | 判断两区间是否相等 |
mismatch() | 返回两个序列的各组对应元素中,第一对不相等元素 |
lexicographical_compare() | 判断某一序列在字典顺序下是否小于另一序列 |
1 for_each
UnaryProc for_each(InputIterator beg,InputIterator end,UnaryProc op);
(1)对区间[beg,end)中的每一个元素调用: op(elem)
2 count 和 count_if (元素计数)
difference_type count(InputIterator beg,InputIterator end,constT & value);
difference_type count_if(InputIterator beg,InputIterator end,UnaryPredicate op);
(1)第一种形式会计算区间[beg,end)中元素值等于value的元素个数;
(2)第二种形式会计算区间[beg,end)中令以下一元判断式 op(elem)结果为true的元素个数
3 min_element 和 max_element (最大值和最小值)
InputIterator min_element(InputIterator beg,InputIterator end);
InputIterator min_element(InputIterator beg,InputIterator end,CompFunc op);
InputIterator max_element(InputIterator beg,InputIterator end);
InputIterator max_element(InputIterator beg,InputIterator end,CompFunc op);
(1)返回区间[beg,end)中最小或最大元素的位置.
(2)无op参数的版本,以operator<进行元素的比较.
(3)op用来比较两个元素 op(elem1,elem2),若第一个元素小于第二个元素,应当返回true.
(4)若存在多个最小值或最大值,上述算法返回找到的第一个最小或最大值。
4 find 和 find_if (搜寻第一个匹配元素)
InputIterator find(InputIterator beg,InputIterator end,const T & value);
InputIterator find_if(InputIterator beg,InputIterator end,UnaryPredicate op);
(1)第一种形式返回区间[beg,end)中第一个元素等于value的元素位置。
(2)第二种形式返回[beg,end)中令一下一元判断式op(elem)结果为true的第一个元素。
5 search_n (搜寻前n个连续匹配值)
InputIterator search_n(InputIterator beg,InputIterator end,Size count,const T & value);
InputIterator search_n(InputIterator beg,InputIterator end,Size count,const T & value,BinaryPredicate op);
(1)第一种形式返回区间[beg,end)中第一组“连续count个元素值全等于value”的元素位置。
(2)第二种形式返回区间[beg,end)中第一组“连续count个造成一元判断式op(elem,value)结果为true”的元素位置。
6 search ( 搜寻第一个子区间)
ForwardItertor serach(ForwardItertor beg,ForwardItertor end,
ForwardItertor searchBeg,ForwardItertor searchEnd);
ForwardItertor1 serach(ForwardItertor beg,ForwardItertor end,
ForwardItertor searchBeg,ForwardItertor searchEnd,BinaryPredicate op);
(1)两种形式返回区间[beg,end)内和“区间[searchBeg,searchEnd)完全吻合”的第一个子区间内的第一个元素的位置。
(2)第一种形式中,子区间的元素必须完全等于[searchBeg,searchEnd)的元素。
(3)第二种形式中,子区间的元素和[searchBeg,searchEnd)的对应元素必须造成二元判断式op(elem,searchElem)的判断式的结果为true。
7 find_end (搜寻最后一个子区间)
ForwardItertor find_end(ForwardItertor beg,ForwardItertor end,
ForwardItertor searchBeg,ForwardItertor searchEnd);
ForwardItertor1 find_end(ForwardItertor beg,ForwardItertor end,
ForwardItertor searchBeg,ForwardItertor searchEnd,BinaryPredicate op);
说明同上:search
7 find_first_of (搜寻某些元素第一次出现的地点)
ForwardItertor find_end(ForwardItertor beg,ForwardItertor end,
ForwardItertor searchBeg,ForwardItertor searchEnd);
ForwardItertor1 find_end(ForwardItertor beg,ForwardItertor end,
ForwardItertor searchBeg,ForwardItertor searchEnd,BinaryPredicate op);
(1)第一种形式返回第一个“既在区间[beg,end)中出现,也在区间[searchbeg,searchEnd)中出现的元素的位置”。
(2) 第二种形式返回区间[beg,end)中第一个这样的元素:它和区间[searchBeg,searchEnd)中每一个元素执行op(elem,searchElem)结果是true。
8 adjacent_find (搜寻两个连续且相等的元素)
InputItertor adjacent_find(InputItertor beg,InputItertor end);
InputItertor adjacent_find(InputItertor beg,InputItertor end,BinaryPredicate op)
(1)第一种形式返回区间[beg,end)中第一对“连续两个相等元素“”之中的第一个元素的位置。
(2)第二种形式返回区间[beg,end)中第一对“连续两个元素使二元判断式op(elem,nextElem)的结果为true”的第一个元素的位置。