#include<iostream>
using namespace std;
struct term//顺序表和链表的的定义
{
oat coef; //系数
int expn; //指数
};
struct LNode
{
term data; //term 多项式值
struct LNode *next;
};
typedef LNode* polynomail;
/*合并同类项*/
polynomail hebing(polynomail Head)
{
polynomail r,q,p,Q;
for(q=Head->next;q!=NULL;q=q->next)//合并同类项
for(p=q->next,r=q;p!=NULL;)
if(q->data.expn==p->data.expn)//指数相等 系数相加
{
q->data.coef=q->data.coef+p->data.coef;
r->next=p->next;
Q=p;p=p->next;
delete Q;//释放 p
}
else
{
r=r->next;
p=p->next;
}
return Head;//得到不含同类项的多项式
}
/*打印多项式,求项数*/
void printpolyn(polynomail P)
{
int i;
polynomail q;
if(P==NULL)
cout<<"无项"<<endl;
else if(P->next==NULL)
cout<<"Y=0"<<endl;
else
{