码迷,mamicode.com
首页 > 其他好文 > 详细

<algorithm>、<numeric>中的一些函数

时间:2020-04-24 00:58:36      阅读:70      评论:0      收藏:0      [点我收藏+]

标签: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删除掉重复的元素

 

<algorithm>、<numeric>中的一些函数

标签:cbe   元素   移动   result   不重复   单词   泛型算法   code   fill   

原文地址:https://www.cnblogs.com/cs0915/p/12716851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!