标签:cbe 元素 移动 result 不重复 单词 泛型算法 code fill
泛型算法本身不会执行容器的操作,它们只会运行于迭代器之上,执行迭代器的操作。算法永远不会改变底层容器的大小,算法可能会该百年容器中元素的值,也可能在容器中移动元素,但永远不会直接添加或删除元素。迭代器可以完成向容器添加元素的效果,但宣发自身永远不会做这样的操作。
1.find
例:auto result=find(vec.cbegin(),vec.end(),val)//返回第一个等于给定值的元素的迭代器,若没有则返回第二个参数来表示搜索失败
2.accumulate,求和
例:int sum=accumulate(vec.cbegin(),vec.cend(),0)//第三个参数是和的初值
3.fill
fill(vec.begin(),vec.end(),0)//fill将指定范围的元素替换为第三个参数的值
4.copy
接受三个迭代器,前两个表示一个输入范围,第三个表示目的序列的起始位置,目的序列至少要包含与输入序列一样多的元素
auto ret= copy(c1.bengin(),c2.end(),iter)//返回一个迭代器,迭代器指向最后一个插入的元素的后面的位置
5.sort 重排
1 sort(vec.begin(),vec.end());//利用元素的<运算符进行排序 2 3 auto end_unique=unique(vec.begin(),vec.end());//重排输入范围的元素,使得每个单词只出现一次排列在范围的前部,返回指向不重复区域的后面一个位置的迭代器 4 5 vec.erase(end_unique,vec.end());//利用erase删除掉重复的元素
标签:cbe 元素 移动 result 不重复 单词 泛型算法 code fill
原文地址:https://www.cnblogs.com/cs0915/p/12716851.html