不采用顺序存储结构的原因:如果多项式的指数很大,但是系数非零项很少,将会浪费很多存储空间。
一元多项式相加的运算规则:对于两个多项式指数相同的项,系数相加,若不为零,则构成和多项式的一项;对于所有指数不相同的项,照抄。
int cmp( int a , int b)
{
a>b;return 1;
a=b;return 0;
a<b;return -1;
}
void Add(poly &Pa,poly &Pb,poly &Pc)
{
ha=Pa;hb=Pb;
Pc=hc=Pa;
while(pa && pb)
{
a=pa->zhishu;b=pb->zhishu;
switch(cmp(a,b)){
case -1 : pc->next=pa;pc=pa;pa=pa->next; // pa连接到pc后面
case 0 : sum=pa->xishu + pb->xishu;
if(sum!= 0.0){
pa->xishu=sum;pc->next=pa;pc=pa;pa=pa->next;
}
else{
pa=pa->next;pb=pb->next;
}
case 1 : pc->next=pb;pc=pb;pb=pb->next;
}
}
}