多项式相加实验报告
实验目的:
利用线性链表存储和表示任意的多项式加深对线性链表算法的认识,深入对线性链表操作
的理解
问题表述:
任意输入两个项数不定的多项式,可以用一个动态分配内存的线性链表进行存储,根据一
元多项式相加的算法规则:对于两个一元多项式中所有指数相同的项,对应系数相加,若
其和不为零,则构成“和多项式”中的一项;对于两个一元多项式中所有指数不相同的项,
则分别复制到“和多项式”中。
功能:
1, 实现多项式的加法
2, 随意顺序输入多项式,最后按指数升序排列
3, 及时判断输入项是否是多项式的新项
4, 随意输入任意多项多项式
设计:
数据结构表述:
ADT Polynomial
{
数据对象:D={ai|ai∈TermSEt,i=1,2,…,m, m>=0
TermSet 中的每个元素包含一个表示系数的实数和表示指数的整数}
数据关系:R1={<ai-1,ai>|ai-1,ai∈D,且 ai-1 中的<ai 中的指数值,i=2,…,n}
基本操作:
CreatPolyn(&L)
操作结果:输入系数和指数,建立表示一元多项式的有序链表 L;
InsPolyn(L,i)
操作结果:新建结点存储多项式的项;
Print(&L)