前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java数据结构之单链表应用之一元多项式求和

java数据结构之单链表应用之一元多项式求和

作者头像
林老师带你学编程
发布2022-11-30 10:34:16
3400
发布2022-11-30 10:34:16
举报
文章被收录于专栏:强仔仔

一元多项式求和有一个特点就是改动特别大,如果用顺序表效率会特别低,所以为了提高效率优先选择链表进行求解。

利用java中单链表进行一元多项式求和,下面直接看案例分析:

代码语言:javascript
复制
package LinkedList;
import LinkedList.Elem.Node;
public class LinkedAdd {
	public Node add(Elem e1,Elem e2){
		Node pre=e1.getNode();
		Node qre=e2.getNode();
		Node p=pre.next;
		Node q=qre.next;
		Node result=p;
		while(p!=null && q!=null){
			if(p.exp<q.exp){
				pre=p;
				p=p.next;
			}else if(p.exp>q.exp){
				Node temp=q.next;
				pre.next=q;
				q.next=p;
				q=temp;
			}else{
				p.coef=p.coef+q.coef;
				if(p.coef==0){
					pre.next=p.next;
					p=pre.next;
				}else{
					pre=p;
					p=p.next;
				}
				qre.next=q.next;
				q=qre.next;
			}
		}
		if(q!=null){
			pre.next=q;
		}
		return result;
	}
	public static void main(String[] args) {
		Elem node1=new Elem();
		node1.insert(7,0);
		node1.insert(12,3);
		node1.insert(2,8);
		node1.insert(5,12);
		
		Elem node2=new Elem();
		node2.insert(4,1);
		node2.insert(6,3);
		node2.insert(2,8);
		node2.insert(5,20);
		node2.insert(7,28);
		LinkedAdd l=new LinkedAdd();
		Node node=l.add(node1, node2);
		while(node!=null){
			System.out.println("coef:"+node.coef+"      exp:"+node.exp);
			node=node.next;
		}
	}
}
class Elem{
	public class Node{
		public int coef;//系数
		public int exp;//指数
		public Node next=null;//下一个节点
		public Node(){
			coef=0;
			exp=0;
		}
		public Node(int coef,int exp){
			this.coef=coef;
			this.exp=exp;
		}
	}
	public Node first=new Node();
	public void insert(int coef,int exp){//添加节点
		Node node=new Node(coef,exp);
		if(first==null){
			first.next=node;
		}else{
			Node temp=first;
			while(temp.next!=null){
				temp=temp.next;
			}
			temp.next=node;
		}
	}
	public Node getNode(){
		return first;
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档