本文介绍了一个使用 C++ 编写的程序,该程序通过 vector 容器来判断两个数组是否相等。首先,程序从用户输入中读取两个 vector 的元素,然后比较它们的大小和内容。如果两个 vector 的大小不同,则直接判断它们不相等;如果大小相同,程序将遍历并比较每个元素,以确定它们是否完全相等。
#include<iostream>
#include<vector>
using std::vector;
using std::cout;
using std::cin;
using std::endl;//编写程序判断两个数组是否相等,然后把这段代码改用 vector实现
int main(){
vector<int> ivec1, ivec2;
int cval;//读入两个vector的元素值
cout <<"Enter the numbers of vector1(-1 to quit):"<<endl;
cin >> cval;while(cval !=-1){
ivec1.push_back(cval);
cin >> cval;}
cout <<"Enter the numbers if vector2(-1 to quit)"<<endl;
cin>> cval;while(cval !=-1){
ivec2.push_back(cval);
cin >> cval;}if(ivec1.size()!= ivec2.size())//长度不等的 不相等
cout <<"Vector1 in not equal to vector2."<< endl;elseif(ivec1.size()==0)//长度都为0的相等 一个为0 就行 因为已经是相等了 不用写 (ivec1.size() == 0 && ivec2.size() == 0)
cout <<"Vector1 is equal to vector2."<< endl;else//长度相等切都不为0的{
vector<int>::iterator item1, item2;
item1 = ivec1.begin();
item2 = ivec2.begin();while(item1 != ivec1.end()&& item2 != ivec2.end()){if(*item1 ==*item2){++item1;++item2;}}if(item1 == ivec1.end())
cout <<"Vector1 is equal to vector2."<< endl;else
cout <<"Vector1 is not equal to vector2."<< endl;}return0;}