java实现一元多项式加法

思路:

java实现一元多项式加法_第1张图片java实现一元多项式加法_第2张图片

多项式结点类描述:(Node结点,Linklist类的描述在创建单链表的文章已经实现)

public class PolynNode {
	public double coef;   //系数
	public int expn;      //指数
	public PolynNode(double coef,int expn){   //构造函数
		this.coef=coef;
		this.expn=expn;
	}
}

多项式类的描述:

import java.util.Scanner;
public class PolynList extends Linklist{    //多项式类继承Linklist单链表
	public PolynList(int n)throws Exception{  //创建多项式有序链表
		Scanner sc=new Scanner(System.in);   //构造用于输入的对象
		head.data=new PolynNode(0,-1);    //初始化头结点
		for(int i=0;ib.expn){
				ha.next=qb;
				ha=qb;
				qb=qb.next;
			}
			else{
				double sum=a.coef+b.coef;
				if(sum!=0){
					a.coef=sum;
					ha.next=qa;
					ha=qa;
					qa=qa.next;
					qb=qb.next;
				}
				else{
					qa=qa.next;
					qb=qb.next;
				}
				}
		}
		ha.next=(qa!=null?qa:qb);   //插入剩余结点
		return LA;
	}
	public static void main(String[] args)throws Exception{
		System.out.println("输入多项式A各项的系数和指数");
		PolynList LA=new PolynList(4);
		System.out.println("输入多项式B各项的系数和指数");
		PolynList LB=new PolynList(3);
		LA.addPolynList(LA, LB);   //对多项式LA,LB求和,并赋给LA
		System.out.println("求和后多项式各项为");
		LA.display();  //打印LA中的项
	}
	public void display(){   //重载父类display()方法
		for(int i=0;i

运行结果:

java实现一元多项式加法_第3张图片

你可能感兴趣的:(数据结构)