容器关系运算符的限制:必须是相容类型(能转换),且元素类型也必须相同才能进行比较。
两个容器相等的充分条件是包含相同个数的元素,且对位元素的值都相等。因此首先判断两个容器是否包含相同个数的元素,若不等,则两个容器不等。否则遍历两个容器中的元素,两两比较对位元素的值,若有元素不相等,则容器不等,否则相等。
#include<iostream>
#include<vector>
#include<list>
using namespace std;
bool func(vector<int> v,list<int> l)
{
if(v.size()!=l.size())
return false;
auto lb=l.cbegin();
auto le=l.cend();
auto vb=v.cbegin();
for(;lb!=le;lb++,vb++)
{
if(*lb==*vb)
return true;
else
return false;
}
}
int main()
{
/*此处省略主函数*/
}