問題:
[cpp]view plain
copy
/*
檔名稱:第4周專案6--多項式求和.cpp
作 者:陳曉琳
完成日期:2023年9月23日
版 本 號:v1.0
問題描述:用單鏈表儲存一元多項式,並實現兩個多項式的加法。
輸入描述:若干資料。
程式輸出:多項式a,多項式b,有序多項式a,b,相加後的多項式。 */
**:[cpp]view plain
copy
#include
#include
#define max 20 //多項式最多項數
typedef
struct
//定義存放多項式的陣列型別
polyarray;
typedef
struct
pnode
//定義單鏈表結點型別,儲存多項式中的一項,鍊錶構成多項式
polynode;
void
disppoly(polynode *l)
//輸出多項式
printf("\n"
);
} void
destroylist(polynode *&l)
//銷毀單鏈表
free(p);
} void
createlistr(polynode *&l, polyarray a,
intn)
//尾插法建表
r->next=null; //終端結點next域置為null
} void
sort(polynode *&head)
//按exp域遞減排序
} } void
add(polynode *ha,polynode *hb,polynode *&hc)
//求兩有序集合的並,完成加法
else
if(pa->expexp)
else
//pa->exp=pb->exp
pa=pa->next;
pb=pb->next;
} }
if(pb!=null) pa=pb;
//複製餘下的結點
while
(pa!=null)
tc->next=null;
} int
main()
,,,};
polyarray b= ,,,,};
createlistr(ha,a,4);
createlistr(hb,b,5);
printf("原多項式a: "
);
disppoly(ha);
printf("原多項式b: "
);
disppoly(hb);
sort(ha);
sort(hb);
printf("有序多項式a: "
);
disppoly(ha);
printf("有序多項式b: "
);
disppoly(hb);
add(ha,hb,hc);
printf("多項式相加: "
);
disppoly(hc);
destroylist(ha);
destroylist(hb);
destroylist(hc);
return
0;
}
執行結果:
知識點總結:
鍊錶的應用。
學習心得:
不太好理解,需要仔細看**。
第四周專案6 多項式求和
問題及 檔名稱 多項式求和.cpp 作 者 杜文文 完成日期 2015年 10月 11日 問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法。1 儲存多項式的資料結構 多項式的通式是p n x a n x n a n 1 x n 1 a 1 x a 0 n次多項式共有n 1項。直觀地,可以定義...
第四周專案6 多項式求和
檔名稱 test.cpp 完成日期 2015年10月12日 版本號 vc 6.0 問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法。include include define max 20 多項式最多項數 typedef struct 定義存放多項式的陣列型別 polyarray type...
第四周專案6 多項式求和
煙台大學計算機與控制工程學院 問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法 輸入描述 無 輸出描述 include include define max 20 多項式最多項數 typedef struct 定義存放多項式的陣列型別 polyarray typedef struct pno...