equal:比较两个容器是否相等;相等的概念可以自定义。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool Twice(int val1, int val2)
{
return val1*2==val2;
}
int main(int argc, char* argv[])
{
vector<int> v1, v2, v3;
int i;
for(i=0; i<10; i++)
{
v1.push_back(5*i);
}
for(i=0; i<10; i++)
{
v2.push_back(5*i);
}
for(i=0; i<10; i++)
{
v3.push_back(10*i);
}
bool b=equal(v1.begin(), v1.end(), v2.begin());
if(b)
{
cout<<"v1等于v2"<<endl;
}
else
{
cout<<"v1不等于v2"<<endl;
}
b=equal(v1.begin(), v1.end(), v3.begin(), Twice);
if(b)
{
cout<<"v3是v1的2倍"<<endl;
}
else
{
cout<<"v3不是v1的2倍"<<endl;
}
return 0;
}