又来问问题了 比较两个vector是否相等
#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
...全文
相关推荐
比较两个vector
/* 编写一段程序,比较两个数组是否相等,再写一个程序比较两个vector是否相等 */
.NET如何快速比较两个byte数组是否相等.doc
.NET如何快速比较两个byte数组是否相等.doc
关于c++ 定义两个vector数组对象实现以下操作:
一、定义两个vector对象,分 别存放int、float数组元素,实现以下操作: 1.输入数组元素的值 2.修改数组中元素的值 3.向数组中间插入、删除元素 4.将数组首部和尾部元素删除 5.向数组首部和尾部插入元素 每次修改数组均输出当前数组元素。
C++中vector可以作为map的键值实例代码
主要介绍了C++中vector可以作为map的键值实例代码,需要的朋友可以参考下
详解C++中的vector容器及用迭代器访问vector的方法
使用迭代器iterator可以更方便地解引用和访问成员,当然也包括vector中的元素,本文就来详解C++中的vector容器及用迭代器访问vector的方法,需要的朋友可以参考下


