首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

帮小弟我看看用链表实现集合的交并差的C++程序哪里有错

2012-02-16 
求助:帮我看看用链表实现集合的交并差的C++程序哪里有错C/C++ code#include iostream#include fstream

求助:帮我看看用链表实现集合的交并差的C++程序哪里有错

C/C++ code
#include <iostream>#include <fstream>#include <list>using namespace std;template<typename T>void display(list<T> c2){list <T>::iterator c2_iter;c2_iter=c2.begin();while (c2_iter != c2.end()){cout <<" "<<*c2_iter;c2_iter++;}cout <<endl;}void jiao(list<int> a,list<int> b,list<int> c){list<int>::iterator ita=a.begin();list<int>::iterator itb=b.begin();do{do {if (*ita == *itb){c.push_back(*ita);itb++;ita++;}else{itb++;}} while (itb != b.end());}while(ita != a.end());}int main(){list<int> a;list<int> b;list<int> c;ifstream ain ("a.in");ifstream bin ("b.in");int at,bt;while(ain >>at){a.push_back(at);}while(bin >>bt){b.push_back(bt);}display(a);display(b);jiao(a,b,c);display(c);return 0;}


[解决办法]
修改如下
C/C++ code
void jiao(list<int> a,list<int> b,list<int> &c) //注意是&c{  list<int>::iterator ita=a.begin();  list<int>::iterator itb;  do  {    itb=b.begin();    do     {      if (*ita == *itb)      {        c.push_back(*ita);        break;      }      else      {        itb++;      }    } while (itb != b.end());    ita++;  }while(ita != a.end());} 

热点排行