以线性表来描述一元多项式,存储结构采用单链表,每个结点存储的多项
式中某一项的系数和指数,建立单链表时指数高的结点列于指数低的结点之后,
即线性表的元素按指数递增有序排列。
例如构造两个多项式 ha: 5X3+4X2+3X+2
hb: X2+X+1
多项式加法:定义指针 p,q 分别指向 ha,hb
i.p->exp==q->exp ,r->coef=p->coef+q->coef,pa,pb 下移;
ii.p->exp<q->exp ,r->coef=q->coef;r->exp=q->exp;,q 下移
iii.pa->exp>pb->exp, r->exp=p->exp;r->coef=p->coef;,p 下移
iv.p!=NULL,pb==NULL.相当于 iii.
V.q==NULL,pb!=NULL.相当于 ii.
其流程图如下:
多项式乘法:定义指针 fp,gp 分别指向 f,g
1.将两多项式最大指数相加并赋于 maxp,并置 g
2.用 for 循环求指数等于 maxp 时相乘的系数
3. (fp!=NULL)&&(gp!=NULL), p=fp->exp+gp->exp
1.p>maxp, fp=fp->next;
2. p<maxp, gp=gp->next;
3.p=maxp, x+=fp->coef*gp->coef; fp=fp->next;gp=gp->next;
评论0
最新资源