單鏈表應用------一元多項式
【問題描述】編寫乙個程式用單鏈表儲存多項式,並實現兩個一元多項式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...