数据结构 study 6:一元多项式相加
一元多项式的表示及相加
// c2-6.h 抽象数据类型Polynomial的实现(见图245)
typedef struct // 项的表示,多项式的项作为LinkList的数据元素
{
float coef; // 系数
int expn; // 指数
}term,ElemType; // 两个类型名:term用于本ADT,ElemType为LinkList的数据对象名
term 和ElemType
多项式的存储结构
图2–46 是根据c2-5.h 和c2-6.h 定义的多项式7.3+22X7 的存储结构。
程序运行结果:
请输入第1个一元多项式的非零项的个数:3
请依次输入3个系数,指数:
1,2
5,4
3,3
请输入第2个一元多项式的非零项的个数:3
请依次输入3个系数,指数:
-3,3
4,2
7,1
2个一元多项式相加的结果:
系数指数
7.000000 1
5.000000 2
5.000000 4
请输入第3个一元多项式的非零项的个数:3
请依次输入3个系数,指数:
-5,2
3,3
-3,1
2个一元多项式相加的结果(另一种方法):
系数指数
4.000000 1
3.000000 3
5.000000 4
请输入第4个一元多项式的非零项的个数:3
请依次输入3个系数,指数:
4,1
2,3
6,6
2个一元多项式相减的结果:
系数指数
1.000000 3
5.000000 4
-6.000000 6
请输入第5个一元多项式的非零项的个数:2
请依次输入2个系数,指数:
1,1
2,2
2个一元多项式相乘的结果:
系数指数
1.000000 4
7.000000 5
10.000000 6
-6.000000 7
-12.000000 8