多项式链表多项式相加

Posted KennyRom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多项式链表多项式相加相关的知识,希望对你有一定的参考价值。

技术分享

//多项式相加
LinkList* add2Link(LinkList*L1, LinkList*L2)
{
	LinkList*p1, *p2;
	LinkList*head , *pre, *p;
	head = new LinkList;
	head->next = NULL;
	pre = head;
	p1 = L1->next;
	p2 = L2->next;
	while (p1&&p2)
	{
		if (p1->exp == p2->exp)
		{
			p = new LinkList;
			p->coef = p1->coef + p2->coef;
			p->exp = p1->exp;
			p1 = p1->next;
			p2 = p2->next;
		}
		else if ((p1->exp) < (p2->exp))
		{
			p = new LinkList;
			p->coef = p1->coef;
			p->exp = p1->exp;
			p1 = p1->next;
		}
		else
		{
			p = new LinkList;
			p->coef = p2->coef;
			p->exp = p2->exp;
			p2 = p2->next;
		}
		pre->next = p;
		pre = p;
	}
	if (p1&&!p2)
	{
		while (p1)
		{
			p = new LinkList;
			p->coef = p1->coef;
			p->exp = p1->exp;
			p1 = p1->next;
			pre->next = p;
			pre = p;
		}
	}
	else if (!p1&&p2)
	{
		while (p2)
		{
			p = new LinkList;
			p->coef = p2->coef;
			p->exp = p2->exp;
			p2 = p2->next;
			pre->next = p;
			pre = p;
		}
	}
	pre->next = NULL;
	return head;
}

  

 

以上是关于多项式链表多项式相加的主要内容,如果未能解决你的问题,请参考以下文章

用java单链表实现一元多项式相加的算法?

链表实现多项式相加

两个一元多项式相加

两个多项式相加 ( C++ )

两个多项式相乘和相加的算法

一元多项式的表示及相加