又来问问题了 比较两个vector是否相等

theITcat theITcat 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include<iostream>
#include<string>
#include<cstddef>
#include<cctype>
#include<vector>
using namespace std;
int main()
{
vector<int> ivec1;
vector<int> ivec2;
int number;
cout<<"input ivec1"<<endl;
while(number!=-1)
{
ivec1.push_back(number);
cin>>number;
}
cout<<"input ivec2"<<endl;
cin>>number; //the key
while(number!=-1)
{
cin>>number;
ivec2.push_back(number);

}
//²âÊÔÓï¾ä¶Î
vector<int>::iterator iter3,iter4;
for(iter3=ivec1.begin(),iter4=ivec2.begin();iter3!=ivec1.end(),iter4!=ivec2.end();++iter3,++iter4)
{cout<<"ivec1="<<*iter3<<endl;
cout<<"ivec2="<<*iter4<<endl;}

if(ivec1.size()!=ivec2.size())
{
cout<<ivec1.size()<<endl;
cout<<ivec2.size()<<endl;
cout<<"ivec1 != ivec2"<<endl;
}
else if(ivec1.size()==ivec2.size()==0)
cout<<"ivec1=ivec2"<<endl;
else
{
vector<int>::iterator iter1,iter2;
for(iter1=ivec1.begin(),iter2=ivec2.begin();iter1!=ivec1.end(),iter2!=ivec2.end();++iter1,++iter2)
{
if(*iter1!=*iter2)
cout<<"not equal"<<endl;
return 0;
}
cout<<"equal"<<endl;
}
}

问题是为什么运行的时候输入ivec1=1 2 3 和ivec2=1 2 3时 ivec1的第一个元素不等于1,而且ivec1!=ivec2
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
theITcat
C++ 语言 65,214 成员 250,514 内容