多項式相加

2022-06-30 14:54:10 字數 866 閱讀 7714

多項式相加有很多種實現方法。

不怕浪費空間的可以用陣列,陣列下標當作指數;

結構可以同時儲存指數和係數,但要開闢新的空間存放比較後相加的結果;

鍊錶可以和結構一樣使用,開闢新鍊錶,不斷釋放舊的鍊錶;

這裡介紹一種直接利用兩個鍊錶的結點,以乙個鍊錶為基準,將另外乙個鍊錶的結點選擇性加入,同時釋放係數為0沒用的結點。

#define error 0

#define ok 1

typedef struct node

node;

typedef node* pnode;

int insertline(pnode trvp, int n, int coef,int exp)//在第n位置插入乙個結點

if (!trvp || i > n - 1) return error;

node* insertnode = (node*)malloc(sizeof(node));

insertnode->coef = coef;

insertnode->exp = exp;

insertnode->pnext = trvp->pnext;

trvp->pnext = insertnode;

}//以第乙個鍊錶為基準,將第二個鍊錶選擇性插入,這樣不用開闢新的空間,

void add_poly(pnode hnode1, pnode hnode2)

else//係數和為0,釋放掉兩個空間

}else if(q1->expexp)

else//q2結點併入q1

}if (q2)//若q2有餘,直接掛到ans末尾 }

int main()

多項式相加

include include include typedef struct polyn pol 建立有序多項式 pol creatpolyn else if cnew expn clast expn else cnew pol malloc sizeof pol scanf d d cnew co...

多項式相加

include include typedef struct node 多項式資料型別的定義 polynode polynode createpoly 建立鍊錶 r next null return l void addpoly polynode pa,polynode pb 兩個多項式相加 els...

多項式相加

一.題目描述 輸入兩個多項式,按照指數遞增輸入 輸出相加和。二.題目分析 在書中第二章節中出現了多項式相加的演算法,使用鍊錶實現的,在此簡單使用結構體構造多項式的項。三.include define n 10 typedef struct item int m,n,k 0 item a n b n ...