多项式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
q=p;
}
q->next=NULL;
returnL;
}
voidprint(Link *L)
{
Link *p;
p=L->next;
if(p)
do
{
cout<<p->c<<" "<<p->e<<" ";
p=p->next;
}while(p!=NULL);
cout<<endl;
}
voidplus(Link *h1,Link *h2)
{
Link *h,*p1,*p2,*q;
h=h1;
p1=h1->next;
p2=h2->next;
while(p1!=NULL&&p2!=NULL)
if(p1->e>p2->e)
{h->next=p1;h=p1;p1=p1->next;}
elseif(p2->e>p1->e)
{h->next=p2;h=p2;p2=p2->next;}
elseif(p1->c+p2->c!=0)
{p1->c=p1->c+p2->c;h->next=p1;
h=p1;p1=p1->next;
q=p2;p2=p2->next;
free(q);}
else
{
q=p1;p1=p1->next;free(q);
q=p2;p2=p2->next;free(q);
#include"iostream.h"
#include"stdio.h"
#include"stdlib.h"
typedefstructlink
{
intc;wenku.baidu.com
inte;
structlink *next;
}Link;
Link *CreateList_L(intn) //创建链表头插法正位序
{
inti;
Link *p,*q,*L;
}
if(p1!=NULL) h->next=p1;
elseh->next=p2;
free(h2);
}
voidmain()
{
intn1,n2;
Link *h1,*h2;
cout<<"请输入h1表长:";
cin>>n1;
cout<<"请输入h2表长:";
cin>>n2;
h1=CreateList_L(n1);
h2=CreateList_L(n2);
cout<<"输出h1:";
print(h1);
cout<<"输出h2:";
print(h2);
plus(h1,h2);
cout<<"多项式相加结果:"<<endl;
print(h1);
}
L=(Link *)malloc(sizeof(Link));
L->next=NULL;
q=L;
cout<<"请输入"<<n<<"个项:"<<endl;
for(i=0;i<n;i++)
{
p=(Link *)malloc(sizeof(Link));
cin>>p->c>>p->e;
q->next=p;
相关文档
最新文档