数据结构中之单链表实现多项式的加减

本文介绍如何利用链表数据结构实现多项式的加减。由于多项式的项数和指数不可预测,顺序表可能导致空间浪费,因此采用链表表示更合适。链表结构包含系数和幂,通过比较不同节点的幂值进行加减操作,同时提供添加节点到链表尾部的辅助函数。算法分析详述了加法操作的实现步骤。
摘要由CSDN通过智能技术生成

             一般情况多项式主要由系数,幂来进行表示。在多项式进行相加时,至少有两个或两个以上的多项式同时并存,而且运算过程中产生的中间多项式以及结果多项式的项数和指数都不可预测,因此在进行多项式相加时,采用顺序表时必然会产生大量的空间浪费,计算机中常采用链表来进行表示多项式。

1、多项式主要由系数和幂组成,因此表达多项式的链表结构如下所示:

<span style="font-size:18px;">typedef struct node
{
	float conf;	//多项式的系数;
	int   exp;	//多项式的幂数;
	struct node* next;	
}node;</span>
2、 分析:假设链表ah表示多项式1,链表bh表示多项式2,链表ch表示多项式1与多项式2相加的结果链表。假设pa指向链表ah的表头,pb指向链表bh的表头,多项式相加时依次移动pa与pb,当pa!=NULL&&pb!=NULL时会存在以下三种情况:

(1)当pa->exp>pb->exp时,把pa的系数与幂数构建一个新的结点,加到新的结果链表ch中,同时pa指向下一结点,pb不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值