用鍊錶實現一元稀疏多項式的相加

2021-07-23 19:30:35 字數 1389 閱讀 5028

由於一元多項式包含係數項和指數項,其係數為float型,指數項為int型,往往將其兩項組合成為乙個結構元素型別,將多項式看成是乙個有序表,則多項式定義中的各個操作均可利用有序表操作來完成。

「建立多項式演算法」操作結果:輸入m項的係數和指數,建立一元多項式p;

「銷毀多項式演算法」初始條件:一元多項式p已存在;

操作結果:銷毀一元多項式

「輸出多項式演算法」初始條件:一元多項式p已存在;

操作結果:列印一元多項式p;

「多項式加法演算法」初始條件:兩個多項式的pa,pb已存在;

操作結果:pa=pa+pb,並銷毀pb;

# include# includetypedef structelemtype;

typedef struct lnode*linklist;

void makenode(linklist &s,elemtype e)

void insafter(linklist p,linklist s)

int compare(elemtype e1,elemtype e2)

else if(n==0) break;

p=p->next;q=p->next;

} makenode(s,e);insafter(p,s); //最大,放在最後乙個位置

}void initlist(linklist &l)

void setcurelem(linklist &p,elemtype e)

void createpolyn(linklist &l,int m)

}void show(linklist l)

while(p)

printf("/n");

}void listdestroy(linklist &l)

}void add(linklist &l1,linklist &l2) //l1中的值小,插入之

case 1: //l2中的值小,插入之

case 0: //刪除l1中的

else

q=p2;p2=p2->next;free(q); //統一刪除l2中的

}} }

if(p1)

r1->next=p1; //新增l1

else

r1->next=p2; //新增l2

free(l2);l2=q=null;p1=p2=r1=null;

}

# include"cf.h"

void main()

輸入一元多項式l1(4),l2(3)

輸出l1+l2

鍊錶實現一元多項式相加

c 鍊錶實現一元多項式相加 如下 輸入多項式按次數從高到低排列 include include using namespace std intmain 定義節點型別,coe表示x前的係數,order表示x的次數 int coe,order int i int nodenuma 多項式a的項數 pri...

一元多項式相加 鍊錶

問題描述 設計乙個一元稀疏多項式簡單計算器。基本要求 一元稀疏多項式簡單計算器的基本功能是 輸入並建立多項式 輸出多項式,輸出形式為整數序列 n,c1,e 1,c2,e 2,c n,en,其中n是多項式的項數,ci,e i分別是第i項的係數和指數,序列按指數降序排列 多項式a和b相加,建立多項式a ...

鍊錶實現一元多項式的相加

如下 include include struct polynomial 結構體的定義 void print polynomial l printf n int getlength polynomial l return i void newlist polynomial l l head retu...