程序作业吧 关注:21贴子:36
  • 0回复贴,共1

求帮改程序,急~

只看楼主收藏回复

#include<iostream>
#include<string>
using namespace std;
template<class type>
class listnode
{
public:
type data;
listnode<type>*next;
listnode() {next=NULL;}
listnode(const type&item,listnode<type>*next1=NULL)
{data=item;next=next1;}
};
template<class type>
class list
{
public:
listnode<type>*head;
string s;
list(){head=new listnode<type>;}
void input();
void show();
};
template<class type>
void list<type>::input()
{getline(cin,s);
int i,j,n,x=0;
listnode<type>*p;
p=head;
n=s.size();
for(i=0;i<n;i++)
{if(s[i]==' ') continue;
else if(s[i]>='0'&&s[i]<='9')
{j=s[i]-'0';
x=x*10+j;
if(s[i+1]==' ')
{p->next=new listnode<type>;
p->data=x;
p=p->next;
x=0;
}
}
}
p->data=x;
p->next=NULL;
}
template<class type>
void list<type>::show()
{
listnode<type>*p;
p=head;
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
template<class type>listnode<type>*p1;
void jiaoji(list<type> l1,list<type> l2,list<type> & l3)
{
listnode<type>*p1;listnode<type>*p2;listnode<type>*p3;
p1=l1.head;p2=l2.head;p3=l3.head;
while(p1&&p2)
{
if(p1->data<p2->data) p1=p1->next;
if(p1->data>p2->data) p2=p2->next;
if(p1->data==p2->data)
{
p3->next=new listnode<type>;
p3->data=p1->data;
p3=p3->next;
p1=p1->next;p2=p2->next;
}
}
p3->next=NULL;
}
int main()
{
list<int> la,lb,lc;
la.input();lb.input();
jiaoji(la,lb,lc);
lc.show();
return 0;
}


来自手机贴吧1楼2015-03-24 20:44回复