Exercise 9.20: | Write a program to compare whether a vector<int> contains the same elements as alist<int>. 编写程序判断一个 vector<int> 容器所包含的元素是否与一个 list<int> 容器的完全相同。 |
#include<iostream>
#include<list>
#include<vector>
using namespace std;
int main()
{
int vecValue, listValue;
vector<int> my_vec;
list<int> my_list;
cout <<"input vector numbers, Ctrl+z to end" <<endl;
while(cin >> vecValue)
{
my_vec.push_back(vecValue);
}
cin.clear();//注意,此处要使流状态重置为有效
cout<<"input list numbers, Ctrl+z to end" <<endl;
while(cin >> listValue)
{
my_list.push_back(listValue);
}
if(my_vec.size() != my_list.size())
{
cout <<"the result is different"<<endl;
goto Pause;
}
else
{
vector<int> ::iterator viter = my_vec.begin();
list<int> ::iterator liter = my_list.begin();
while(viter != my_vec.end())
{
if(*viter != *liter)
{
cout <<"the result is different"<<endl;
break;
}
viter++;
liter++;
}
if(viter == my_vec.end())
{
cout <<"the result is same"<<endl;
}
}
Pause: system("pause");
return 0;
}