1. 实现两个一元多项式的加法运算。 要求: (1)设计函数 createPoly( ),建立一个以单链表形式表示的一元多项式,输 入次序不限,但要求单链表中元素按指数递增次序排列(不能排序算法)。 (2)设计函数 addPoly( ),实现任意两个多项 A 和 B 加法运算,相加结果 在多项式 A 中。要求结果链表仍使用原来两个链表的存储空间,不另外占用其 它的存储空间。 (3)设计函数 output( ),输出多项式。
时间: 2023-05-24 12:05:01 浏览: 133
解题思路:
题目要求我们实现两个一元多项式的加法运算,需要创建一个以单链表形式表示的一元多项式,然后对两个多项式进行加法运算,将结果保存在原来的多项式 A 中,并输出结果。
步骤如下:
1. 定义一元多项式链表结构体,包含指数和系数两个成员变量。
2. 实现 createPoly( ) 函数,接收一个参数 n,表示创建多项式的项数。先创建多项式头节点,然后循环读入每一项的指数和系数,按指数递增排序后插入链表。
3. 实现 addPoly( ) 函数,接收两个参数 A 和 B 分别表示两个多项式。遍历两个链表,将指数相同的项系数相加,结果保存在 A 链表中。
4. 实现 output( ) 函数,遍历链表,输出每一项的指数和系数。
注意事项:
1. 链表按指数递增排序,可以在插入节点时进行比较,也可以在创建链表后进行排序操作,这里采用插入时比较。
2. 多项式相加时需要注意两个多项式不一定具有相同的项数,需要判断链表是否遍历完。
3. 链表头节点不存储多项式中的元素,只是为了方便操作,因此输出链表时需要从头节点的下一个节点开始遍历。
4. 系数可能为负数,需要在输出时进行判断处理。
参考代码如下:
阅读全文