/*
* =====================================================================================
*
* Filename: ex9-20.cpp
*
* Description: 判断一个vector<int>容器中的元素是否与一个list<int>中的完全相同
*
* Version: 1.0
* Created: 2014年11月16日 19时59分13秒
* Revision: none
* Compiler: gcc
*
*
* =====================================================================================
*/
#include <iostream>
#include <vector>
#include <list>
using namespace std;
bool compare(list<int> listNum, vector<int> vectorNum);
int main()
{
list<int> listNum;
vector<int> vectorNum;
int temp;
cout << "list 初始化... " << endl;
while (cin >> temp)
{
listNum.push_back(temp);
}
cin.clear(); //使流对象重新设为有效状态
cout << "vector 初始化... " << endl;
while (cin >> temp)
{
vectorNum.push_back(temp);
}
if (compare(listNum, vectorNum))
{
cout << "两容器相等!" << endl;
}
else
{
cout << "两容器不相等!" << endl;
}
return 0;
}
bool compare(list<int> listNum, vector<int> vectorNum)
{
list<int>::iterator iterList = listNum.begin();
vector<int>::iterator iterVector = vectorNum.begin();
for(; (iterList != listNum.end()) && (iterVector != vectorNum.begin()); ++iterList, ++iterVector)
{
if (*iterList != *iterVector)
return false;
}
if (iterList == listNum.end() && iterVector == vectorNum.end())
return true;
else
return false;
}
简直要崩溃了,调试也找不出问题,到底哪里错了啊?