一般情况多项式主要由系数,幂来进行表示。在多项式进行相加时,至少有两个或两个以上的多项式同时并存,而且运算过程中产生的中间多项式以及结果多项式的项数和指数都不可预测,因此在进行多项式相加时,采用顺序表时必然会产生大量的空间浪费,计算机中常采用链表来进行表示多项式。
1、多项式主要由系数和幂组成,因此表达多项式的链表结构如下所示:
<span style="font-size:18px;">typedef struct node
{
float conf; //多项式的系数;
int exp; //多项式的幂数;
struct node* next;
}node;</span>
2、
分析:假设链表ah表示多项式1,链表bh表示多项式2,链表ch表示多项式1与多项式2相加的结果链表。假设pa指向链表ah的表头,pb指向链表bh的表头,多项式相加时依次移动pa与pb,当pa!=NULL&&pb!=NULL时会存在以下三种情况:
(1)当pa->exp>pb->exp时,把pa的系数与幂数构建一个新的结点,加到新的结果链表ch中,同时pa指向下一结点,pb不变。