多项式的表示与运算:
在计算机中表示这个多项式是,可以用一块连续的存储空间(例如用一维数组)来依次存放n+1个系数ai(i=0,2...n),这种表示方式中,即使某次项的系数为0,该系数也必须要存储。当多项式中存在大量的零系数是,这样太浪费空间了;
而采用链表表示多项式是,对多项式每个非零系数的项构成链表中的一个结点,而对于系数为零的项就不用表示。
一.多项式类:文件名 Poly.h
#include <iostream>
using namespace std;
//定义结点类型
struct node
{
int exp;//指数为整型
double coef;//系数为双精度型
node * next;
};
//多项式循环链表类
class Poly
{
private:
node * head;
public:
Poly();//构造函数,建立空多项式链表
void in1_Poly();//键盘输入多项式链表
void in2_Poly(int,int[],double[]);
void del_Poly();
void prt_Poly();
Poly operator +(Poly &);
Poly operator *(Poly &);
};
Poly::Poly()
{
node *p;
p=new node;
p->exp=-1;
p->coef=0;
p->next=p;
head=p;
return;
}
//键盘输入多项式链表
void Poly::in1_Poly()
{
node *p,*k;
int e;
double c;
k=