一元多项式相加

不采用顺序存储结构的原因:如果多项式的指数很大,但是系数非零项很少,将会浪费很多存储空间。

一元多项式相加的运算规则:对于两个多项式指数相同的项,系数相加,若不为零,则构成和多项式的一项;对于所有指数不相同的项,照抄。

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;

}

}

}


版权声明:本文为wy530247936原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。