标准库并未给每个容器都定义成员函数来实现这些操作,而是定义了一组泛型算法,称他们为算法是因为他们实现了一些经典算法的公共接口,如排序和搜索;称他们为排序的是因为它们可以用于不同类型的元素和多种容器类型。大多数算法都定义在头文件algorithm中。标准库还在头文件numeric中定义了一组数值泛型算法。
#include <vector>
#include <algorithm>
#include <iostream>
#include <numeric>
using namespace std;
int main(void)
{
vector<int> vi;
vi.push_back(1);
vi.push_back(11);
vi.push_back(13);
vi.push_back(15);
int result=accumulate(vi.begin(),vi.end(),0);
cout<<result<<endl;
int val=13;
vector<int>::const_iterator freuslu=find(vi.begin(),vi.end(),val);
//cout<<*freuslu<<endl;
if (freuslu==vi.end())
{
cout<<"not present";
}
else
{
cout<<"present";
}
return 0;
}