|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <numeric>
using namespace std;
int main(int argc, char**argv)
{
//accumulate 求和函数,0是作为求和基数
vector<int> vec{23,456,654,7,65,89,65,89,65,98};
int sum = accumulate(vec.cbegin(),vec.cend(),0);
cout<<sum<<endl;
vector<string> vecs{"da","fr","ws","vd","bg"};//对于字符串相加
// string sums = accumulate(vecs.cbegin(),vecs.cend()," ");//错误写法
string sums = accumulate(vecs.cbegin(),vecs.cend(),string("sums = "));
cout<<sums<<endl;
//equal序列对比函数,比较元素是否一致
vector<int> vec1{23,456,654,7,65,89,65,89,65,98,98};
bool res = equal(vec.cbegin(),vec.cend(),vec1.cbegin());
cout<<res<<endl;
//fill 容器快速赋值
vector<int> vec2{22,44,556,656};
//fill(vec2.begin(),vec2.end(),10);//全部重置
fill(vec2.begin(),vec2.begin() + 2,10);//部分重置<br><br> fill_n(vec2.begin(),2,20);//部分修改
for(auto iter = vec2.begin();iter!=vec2.end();iter++)
{
cout<<*iter<<endl;
}
return 0;
}
|