資料結構(3) 一元多項式的基本操作

2021-09-26 03:18:17 字數 2495 閱讀 5806

#include

#include

#define status int

#define overflow -1

#define error -2

#define ok 1

typedef

struct

term, elemtype;

typedef

struct lnode

*linklist;

typedef linklist polynomial;

//1.初始化

status initpolyn

(polynomial &p)

p->next =

null

;return ok;

}//2.銷毀鍊錶

status destorypolyn

(polynomial &p)

return ok;

}status clearpolyn

(polynomial &p)

return ok;

}//3.判斷鍊錶是否為空

bool polynempty

(polynomial p)

else

}//4.求鍊錶的長度

status polynlength

(polynomial p)

return j;

}//5.返回指定元素的係數和冪

status getelem

(polynomial p,

int i,

float

&co,

int&ex)

int j =0;

polynomial p = p;

while

(p&&jif(p&&j==i)

else

}//6.比較函式

status compare

(int a,

int b)

*/if

(a==b)

return0;

}//7.計算元素位置

status locateelem

(polynomial p,

int ex,

bool

(*compare)

(int

,int))

p = p->next;

}return0;

}//8.判斷元素是否存在

bool locateelem

(polynomial l, polynomial t, polynomial &q)

else

if(t->data.expn==p1->data.expn)

else}if

(!p1)

}//9.插入元素

status polyninsert

(polynomial &p,

int i,

float co,

int ex)

if(p && j == i-1)

s->data.coef = co;

s->data.expn = ex;

return ok;

}else

}//10.刪除元素

status polyndelete

(polynomial &p,

int i,

float

&co,

int&ex)

if(p && j==i-1)

return error;

}//11.合併一元多項式中冪相同的項

void

unionpolyn

(polynomial &p)

for(

int j = i +

1; j <

polynlength

(p)+

1; j++

)else

if(ex2 == ex1)}}

}//12.建立鍊錶

void

createpolyn

(polynomial &p)

}//13.比較函式

status cmp

(polynomial qa, polynomial qb)

else

if(qa->data.expn == qb->data.expn)

else

}//14.計算加法

void

addpolyn

(polynomial &pa, polynomial &pb)

else

break

;case-1

: qc->next = qa;

qc = qa;

qa = qa->next;

break

;default

:break;}

} qc->next = qa ? qa : qb;

free

(pb)

;}

資料結構 一元多項式

void initlist polynode l 初始化多項式單鏈表 int getlength polynode l 求多項式單鏈表的長度 polynode getelem polynode l,int i 返回多項式單鏈表中第i個結點的指標 polynode locate polynode l,...

資料結構 一元多項式相加

一元多項式相加 include include struct node typedef struct node polynomial 建立帶有表頭的鍊錶 poly用於儲存係數和指數 polynomial createpoly int poly,int len return head 銷毀鍊錶 voi...

資料結構 一元多項式加法

7 17 一元多項式的加法 20 分 設計程式求兩個一元多項式的和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數。數字間以空格分隔。輸出1行,以指數遞降方式輸出和多項式非零項的係數和指數 保證不超過整數的表示範圍 數字間以空格分隔,但結尾不能有多餘空格...