多项式链表多项式相加

//多项式相加
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;
}

  

struct Node
{
	int data;
	int exp;
};

list<Node>* add2list(list<Node>* l1, list<Node>*l2)
{
	list<Node>l3;
	
	while(!l1->empty()&&!l2->empty())
	{
		if(l1->back().exp==l2->back().exp)
		{
			Node n1=new Node;
			n1.data=l1->back().data+l2->back().data;
			n1.exp=l1->back().exp;
			l3.push_front(n1);
			l1->pop_back();
			l2->pop_back();
		}
	     else
		 {
			 if(l1->back().exp>l2->back().exp)
			 {
				 Node n1=new Node;
			     n1.data=l2->back().data;
			     n1.exp=l2->back().exp;
			     l3.push_front(n1);
			     l2->pop_back();
			 }
			 else
			 {
				 Node n1=new Node;
			     n1.data=l1->back().data;
			     n1.exp=l1->back().exp;
			     l3.push_front(n1);
			     l1->pop_back();
			 }
		 }
	}

     while(!l2->empty())
	 {
		 Node n1=new Node;
		 n1.data=l2->back().data;
		 n1.exp=l2->back().exp;
		 l3.push_front(n1);
		 l2->pop_back();
	 }
	 
	 while(!l1->empty())
	 {
		 Node n1=new Node;
		 n1.data=l1->back().data;
		 n1.exp=l1->back().exp;
		 l3.push_front(n1);
		 l1->pop_back();
	 }

	 return *l3;
}

  

原文地址:https://www.cnblogs.com/KennyRom/p/5887309.html