c 實現鏈式儲存結構實現一元多項式的加法運算

2021-08-08 21:12:27 字數 1530 閱讀 3967

使用順序儲存結構或鏈式儲存結構實現一元多項式的加法運算。

採用鏈式結構實現的

#include 

using namespace

std;

struct node

;//初始化

void initlist(node * &l)

//在多項式鍊錶的第i個位置插入結點

void insertnode(node *& l, int c, int e, int i)

q->next = p->next;

p->next = q;

}//按指數非遞減給多項式排序

void sortlist(node *&l)

else

//處理剩餘其他結點

q = p->next;

p->next = pre->next;

pre->next = p;

p = q;}}

}void print(node * l)

cout << endl;

}node *addpoly(node *l1, node *l2) //一元多項式相加

else

if (pa->exp > pb->exp) //將*pb結點複製到*s並鏈到pc尾

else

//pa->expn=pa->expn時的情況

pa = pa->next; //跳過當前的結點,繼續後面的結點的比較

pb = pb->next;}}

//將尚未掃瞄完的餘下結點複製並鏈結到pc單鏈表之後

if (pa != null) //pb為空

p = pa;

else

//pa為空

p = pb;

while (p != null)

return pc;

}int main()

, c2 = ;

int e1 = , e2 = ;

node *la, *lb, *lc; int k;

initlist(la);

initlist(lb);

initlist(lc);

for (k = 0; k < 4; k++)

insertnode(la, c1[k], e1[k], k);

for (k = 0; k < 3; k++)

insertnode(lb, c2[k], e2[k], k);

cout << "多項式a:";

print(la);

cout << "多項式b:";

print(lb);

cout << "多項式相加的結果為:"

一元多項式 鏈式實現 資料結構

用帶頭結點的鏈式表來表示多項式,每個結點對應多項式的一項 資料結構 標誌指數域 exp係數域 coef 指標域next typedef struct node polynode 如果相等,則把係數相加 如果不等的話,取較小的放在c後面 while p1 p2 else if p1 exp p2 ex...

一元多項式相加的鏈式實現

include ploy.h include include include 動態申請結點 node alloc node int coef,int exp 建立有序一元多項式 node create ploy if coef 0 tmp alloc node coef,exp p phead s ...

實現一元多項式

1 利用鍊錶的方式給輸入的項邊插入排序邊進行合併同類項 2 include3 include4 5struct function 一元多項式6 1112 struct function insert struct function head,struct function p 插入並排序一元多項式 ...