一元多項式求和使用鍊錶

2021-10-22 23:54:27 字數 1182 閱讀 2682

工作指標p、q初始化;

while(p存在且q存在)執行下列三種情形之一

2.1 如果p->expexp,則指標p後移;

2.2 如果p->exp>q->exp,則

2.2.1 將結點q插入到結點p之前;

2.2.2 指標q指向原指結點的下乙個結點;

2.3 如果p->exp=q->exp,則

2.3.1 p->coef =p->coef+q->coef;

2.3.2 如果p->coef ==0,則執行下列操作,否則,指標p後移;

2.3.2.1 刪除結點p;

2.3.2.2 使指標p指向它原指結點的下乙個結點;

2.3.3 刪除結點q;

2.3.4 使指標q指向它原指結點的下乙個結點;

3. 如果q不為空,將結點q鏈結在第乙個單鏈表的後面;

#include

#include

using

namespace std;

typedef

struct po

poly;

void

create

(poly *

&l,int n)

//建立 從exp小到大輸入。

}bool

insert

(poly *

&l,int i,poly *k)

if(p==

null

)else

}bool

dele

(poly *

&l,int i)

if(p==

null

)else

}int

main()

else

if(p1-

>next-

>exp>next-

>exp)

//p小於就把q的那個插入p

else

if(p1-

>next-

>exp==q1-

>next-

>exp)

//相同就相加

else}}

if(q1-

>next!=

null

)while

(p->next!=

null

)//輸出

}

一元多項式求和

處理好指標的問題。當某a鍊錶某項指數大於b鍊錶某項指數時,將b項插入到a鍊錶。當a鍊錶某項小於b鏈某項指數,將a鍊錶指標指向下一項。當a項等於b項時,將他們的係數相加,如果係數和為0,將a鏈和b鏈的項都刪除。否則,刪除該b項。這裡是將結果直接存放到a鍊錶,如果新建乙個鍊錶來儲存可能會更簡單些。pol...

鍊錶 一元多項式求導

7 1 一元多項式求導 20 分 設計函式求一元多項式的導數。以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。3 4 5 2 6 1 2 0輸出樣例 12 3 10...

一元多項式相加 鍊錶

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