全球旧事资料 分类
”链表中),直到两个多项式都遍历完结束。
3、实现流程分析
存储结构类型:单链表。
在模拟多项式对象时,为了简化处理,只取最核心的两个数据:多项式的系数和指
数。前面提到,要用单链表操作,所以要加上个
ext指针,再由该结构体定义一
个结点类型和指针类型。具体数据结构定义如下:
typedefstruct
ode
i
txs
系数
i
tzs
指数
struct
ode
ext

ext指针
413
fD
odeD
odelist
多项式相加的基本过程的算法链表初始化函数Creat_
ode带有头结点的头指针D指向空(NULL)。多项式数据的创建函数Creat_Dmeth当链表初始化成功后,开始创建多项式。分别循环输入两个多项式的系数和指数,其中要用到插入函数。数据的插入函数I
sert_
ode当创建多项式时,要用到此函数,即利用插入的方式将多项式的数据连接起来。再输入一组数据后,程序自动调用此函数,插入时也进行着排序,从表头的
ext开始,一一比较指数大小,直到大于或等于当前指向的数据或遍历完所有数据时停止,然后开始链表中数值的插入,如果相等则直接将指数相加,如果大于就将新数据插入到当前指向的前面,否则将新数据插入到最后。多项式的运算函数:新建链表存储计算后的多项式多项式相加Addresult创建两个指针分别指向两个多项式表头的
ext,分别使用两个while函数独自循环,遍历各自的每一组数据,每遍历一次都将系数与指数存储到新建多项式的链表中。因为存储时利用到插入函数,而插入函数中有相同指数的系数相加功能,所以直接将两个多项式的数据依次插入到新的多项式中即可完成多项式相加。多项式相减Subresult创建两个指针分别指向两个多项式表头的
ext,以两个指针同时不为空为条件循环遍历,如果当前多项式1的指数小于多项式2,则将当前多项式2的系数
513
f置负,指数不变,存入新建多项式中,指向多项式2的指针指向下一个;如果
如果当前多项式1的指数大于多项式2,则将当前多项式1的系数指数不变,
存入新建多项式中,指向多项式1的指针指向下一个;否则将多项式1的系数
减去2的系数后存入新建多项式中,指数不变存入,再将两个指针同时指向下
一个。结束循环后判断是哪一个多项式遍历完了,将未遍历完的多项式剩下的
数据全部插入到新建多项式中。
选择运算方式的函数select
两种选择:1为相加,2为相减;每一种选择调用相应的运算函数。
多项式的显示函数Show
从多项式表头的
ext开始,直到指向空(NULL),将系数与指数一一显示。
r
好听全球资料 返回顶部