一、【實驗目的】
1、了解鏈式儲存結構的基本知識;
2、掌握演算法思想和資料結構的描述;
3、結合一元多項式相加的運算規則。
二、【實驗內容】
結合書上第41頁的例子,採用鏈式儲存結構,將兩個線性鍊錶表示的一元多項式相加,並輸出。此一元多項式遵循多項式相加運算規則:對於兩個一元多項式中存在指數相同的項時,其對應係數相加。合併後係數和為零時,刪除「和多項式」中此項;合併後係數和不為零時,則構成「和多項式」中的一項。對於兩個一元多項式中存在的指數不相同的項,則分別復抄到「和多項式」中去,原多項式保持不變。
三、【實驗步驟與要求】
1、實驗前的準備
(1)了解c語言的基本概念;
(2)了解c語言的基本段落。
2、上機操作
(1)了解鏈式儲存結構的基本知識;
(2)掌握演算法思想和資料結構的描述;
(3)掌握一元多項式相加的運算規則。
#include#include#define true 1
#define false 0
#define ok 1
#define error 0
#define infeasible -1
#define overflow -2
#define list_init_size 100
typedef int status; //status是函式的型別,其值是函式結果**
struct node;
typedef struct polynomial*polylist;
//建立一元多項式鍊錶
void createpolyn(polylist *ha,int n)
}//輸出一元多項式
void showsqlist(polylist ha)
}printf("\n");
}//氣泡排序鍊錶
void sortpolyn(polylist head,int n)
}//多項式相加
polylist add(polylist ha,polylist hb) //對已排序的多項式ha,hb進行相加
else
}else if(ha->elem.expn>hb->elem.expn)
else
}while(ha)
while(hb)
sortpolyn(hc,polynsize);//排序hc
return hc;
}int main ()
/*測試資料
第一行ha的項數
第二行為第i項對應係數與指數,i++,i從1開始
第三行hb的項數
第四行為第i項對應係數與指數,i++,i從1開始
31 3 2 2 4 1
42 2 5 1 -1 3 6 6
*/
資料結構 實驗二(一元多項式相加)
結合書上實驗指導書上的例子,採用鏈式儲存結構,將兩個線性鍊錶表示的一元多項式相加,並輸出。此一元多項式遵循多項式相加運算規則 對於兩個一元多項式中存在指數相同的項時,其對應係數相加。合併後係數和為零時,刪除 和多項式 中此項 合併後係數和不為零時,則構成 和多項式 中的一項。對於兩個一元多項式中存在...
資料結構實驗之一元多項式相加
實驗內容 結合書上第41頁的例子,採用鏈式儲存結構,將兩個線性鍊錶表示的一元多項式相加,並輸出。此一元多項式遵循多項式相加運算規則 對於兩個一元多項式中存在指數相同的項時,其對應係數相加。合併後係數和為零時,刪除 和多項式 中此項 合併後係數和不為零時,則構成 和多項式 中的一項。對於兩個一元多項式...
資料結構實驗 一元多項式計算器
實驗內容 設有一元多項式am x 和bn x 程式設計實現多項式am x 和bn x 的加法 減法和乘法運算。其中多項式描述為 am x a0 a1x1 a2x2 a3x3 amxm bn x b0 b1x1 b2x2 b3x3 bnxn。輸入和輸出 1 輸入 struct polynode typ...