数据结构和算法C语言实现:使用链表实现稀疏多项式

1、前面讲了如何使用动态分配内存的方式创建ADT链表,但是链表只是一种数据结构,涉及到具体的应用时,我们需要根据具体的要求来对链表进行一定的修改,这地方我使用多项式的例子来进行讲解。

2、涉及到链表的相关的操作前面已经进行了细致的讲解,这里不再多说。对于多项式,要满足+、—、*、/、四则基本运算。使用链表作为多项式的存储结构,实现上述四则基板运算是今天的目标。

3、链表的构建

3.1 多项式的每一项由系数和指数构成,首先需要构建满足这一要求的结构体:

typedef struct //项的表示,多项式的项作为LinkList的数据元素
 {
     float coef;//系数
     int expn;//指数
 }Item, ElemType;//两个类型名:Item用于这个ADT(抽象数据类型)
 以上面的数据类型,构建节点类型,形成链表的基本节点

typedef struct _LinkNode /* 结点类型 */
 {
   ElemType data;
   struct _LinkNode *pNext;
 }LNode,*pLink,*Position;
最终构建出如下的链表

 typedef struct LinkList /* 链表类型 */
 {
   pLink head,tail; /* 分别指向线性链表中的头结点和最后一个结点 */
   int nLenth; /* 指示线性链表中数据元素的个数 */
 }LinkList;

 ty
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值