單鏈表應用 一元多項式

2021-10-03 22:50:23 字數 1421 閱讀 3103

單鏈表應用------一元多項式

【問題描述】編寫乙個程式用單鏈表儲存多項式,並實現兩個一元多項式a與b相加的函式。a,b剛開始是公升序的,a與b之和按降序排列。例如:

多項式a: 1.2x^0 2.5x^1 3.2x^3 -2.5x^5

多項式b: -1.2x^0 2.5x^1 3.2x^3 2.5x^5 5.4x^10

多項式a與b之和:5.4x^10 6.4x^3 5x^1

【輸入形式】任意兩個多項式a和b

【輸出形式】多項式中某一項的係數與指數,係數保留一位小數。

【樣例輸入】1.2 0 2.5 1 3.2 3 -2.5 5

-1.2 0 2.5 1 3.2 3 2.5 5 5.4 10

2【樣例輸出】6.4 3

【樣例說明】

第乙個多項式的係數與指數對,以空格隔開

第二個多項式的係數與指數對,以空格隔開

輸出第2項的係數與指數,係數與指數間用空格隔開,係數保留一位小數

【評分標準】必須用鍊錶實現。

#include

#include

"stdio.h"

using

namespace std;

struct node

;class

polynomial

;polynomial::

polynomial()

while

(c !=

eof&& c !=

'\n');

r->next=

null;}

polynomial::

polynomial

(const polynomial &b)

polynomial polynomial::

operator

+(polynomial &b)

else

if(p-

>exp>q-

>exp)

else

else

qre-

>next=q-

>next;

delete q;

q=qre-

>next;}}

if(q)

pre-

>next=q;

return

*this;}

void polynomial::

print()

cout<}void polynomial::

printk

(int k)

node *prek=first;

while

(p)printf

("%.1f %d"

,prek-

>coef,prek-

>exp);}

intmain()

一元多項式求和演算法(單鏈表實現)

單鏈表的應用舉例 採用單鏈表儲存,則每乙個非零項對應單鏈表中的乙個節點,且單鏈表應按指數遞增序列排列。為了節省空間只儲存非零項。其中 eof為係數域,存放非零項的係數 exp為指數域,存放非零項的指數 next為指標域,存放下一結點的指標 偽 1.工作指標pre,p,qre,q初始 2.while ...

一元多項式相加(單鏈表c艹)

include include using namespace std 定義結構體 typedef struct polynode polynode,polylist 建立關於多項式結構體的單鏈表,以係數0結束輸入 polylist polycreate 尾插法建立單鏈表 rear next nul...

一元多項式

一元多項式 功能 1 求解2個一元多項式的和 2 求解2個一元多項式的差 3 列印一元多項式 注 3 這個本來不算是乙個功能,但是發現列印一元多項式的時候問題很多。例如 1x應該列印成 x,x 0不應該應該列印出來 1.結點的定義 typedef struct polynomial polynomi...