数据结构 ---- 多项式的加法

本文通过链表实现多项式的加法,详细介绍了从基础函数定义、初始化、打印到多项式相加的核心算法,包括不同情况的处理,并展示了函数示意图和测试结果。
摘要由CSDN通过智能技术生成

多项式的加法我认为就是对单链表结构的一个简单的应用,只不过,在链表中,多项式的加法会根据实际情况增加了一个数据的位置,因此来实现其相加。下面是代码

1.基础函数

此处的定义相较于单链表的不同之处是,它定义了两个int变量去储存多项式的系数和项数。

typedef struct LinkNode
{
	int coefficient;
	int exponent;
	struct LinkNode *next;
} *LinkList, *NodePtr;

2.初始化

LinkList initLinkList()
{
	LinkList tempHeader = (LinkList)malloc(sizeof(struct LinkNode));
	tempHeader->coefficient = 0;
	tempHeader->exponent = 0;
	tempHeader->next = NULL;
	return tempHeader;
}

3.打印函数以及示意函数

void printList(LinkList paraHeader)
{
	NodePtr p = paraHeader->next;
	while (p != NULL) 
	{
		printf("%d * 10^%d + ", p->coefficient, p->exponent);
		p = p->next;
	}
	printf("\r\n");
}


void printNode(NodePtr paraPtr, char paraChar)
{
	if (paraPtr == NULL) 
	{
		printf("
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值