實驗一 線性表操作(一元多項式的運算)
實驗目的
定義線性表的鏈式儲存
2、實現對線性表的一些基本操作和具體函式定義
實驗要求:
1、定義線性表的鏈式儲存;
2、實現對線性表的一些基本操作和具體函式定義。
3、定義輸出一元多項式的函式;
4、編寫主程式呼叫上面的函式實現一元多項式的加減。
資料輸入輸出要求:
輸入示例:
3
2 33 4
5 75
2 13 3
-3 4
4 65 7
(說明:第乙個資料3表示該第乙個一元多項式的項數為3,後面的2 3 表示第一項的係數為2 指數為3;按指數遞增的次序輸入)
輸出示例:
一元多項式1: 2x(3)+3x(4)+5x(7)
一元多項式2: 2x(1)+3x(3)-3x(4)+4x(6)+5x(7)
加的結果:2x(1)+5x(3) +4x(6)+10x(7)
減的結果:-2x(1)-1x(3)+6x(4)-4x(6)
程式**:
#include #include #include typedef struct polynode
polynode,*polylist;
void poly_create(polylist &l);//建立鍊錶
void poly_display(polylist l); //顯示鍊錶內容
void poly_add(polylist la, polylist lb, polylist &lc);
void poly_subtract(polylist la, polylist lb, polylist &lc);
void main()
//補齊**
完整**:
#includeusing namespace std;
typedef struct polynode
polynode, *polylist;
void poly_create(polylist &l);//建立鍊錶
void poly_display(polylist l);//顯示鍊錶內容
void poly_add(polylist la, polylist lb, polylist &lc);
void poly_subtract(polylist la, polylist lb, polylist &lc);
int main()
//補齊**
void poly_create(polylist &l)
p->next = null;
}void poly_display(polylist l)
polylist p = l->next;
while (p)
}void poly_add(polylist la, polylist lb, polylist &lc)
else if (p1->expn < p2->expn)
else
p1 = p1->next;
p2 = p2->next;
} }while (p1)
while (p2)
p->next = null;
}void poly_subtract(polylist la, polylist lb, polylist &lc)
else if (p1->expn < p2->expn)
else
p1 = p1->next;
p2 = p2->next;
} }while (p1)
while (p2)
p->next = null;
}
資料結構 一元多項式
void initlist polynode l 初始化多項式單鏈表 int getlength polynode l 求多項式單鏈表的長度 polynode getelem polynode l,int i 返回多項式單鏈表中第i個結點的指標 polynode locate polynode l,...
一元稀疏多項式加減
一元稀疏多項式加減 include include include define ok 1 define error 0 typedef int status typedef struct pnodepnode,polynomial 建立乙個多項式鍊錶 status creatpolynnomial...
資料結構實驗之一元多項式相加
實驗內容 結合書上第41頁的例子,採用鏈式儲存結構,將兩個線性鍊錶表示的一元多項式相加,並輸出。此一元多項式遵循多項式相加運算規則 對於兩個一元多項式中存在指數相同的項時,其對應係數相加。合併後係數和為零時,刪除 和多項式 中此項 合併後係數和不為零時,則構成 和多項式 中的一項。對於兩個一元多項式...