一元多项方程式的实现主要在于加减法。其主要有系数和指数,如果用顺序表来表示,最大指数如果很大比如1000,但是中间又有很多指数没有,所以会浪费很多空间,所以用链表来实现虽然麻烦但是节约空间,下面来看算法的实现
一:这是节点的结构体
#include<iostream>
using namespace std;
struct Item
{
double coef;
int expn;
Item *next;
Item();
};
Item::Item()
{
coef=0;
next=NULL;
}
二:list_cometrue.h为实现方法的类
#include"link_list.h"
class List
{
protected:
Item *head;
public:
void Init();
List();
~List();
void create(double co[],int ex[],int p);//创建链表
void out();
int length();//求链表p的长度
void getelem(int position,Item *p);//返回指定位置的结构为*p;
List operator&