多項式加法在單項鍊表裡的表現

2021-08-04 12:27:28 字數 1274 閱讀 7685

輸入:第一行輸入m,n,用空格隔開分別代表兩個多項式的項數;隨後m+n行輸入兩個多項式的係數和指數(按照指數的降序輸入),用空格隔開。

輸出:兩多項式的和

例:input:2 2 output: 2 2

2 2 4 1

1 1 2 0

3 1

2 0

**如下:

#include

/******************************

結構定義處

******************************/

typedef struct lnode lnode;

/*****************************

函式名:兩多項式和函式

輸入:兩無頭節點煉表頭p1,p2。按照指數降序排列。

輸出:無頭節點鍊錶head,相加後的鍊錶。

*****************************/

lnode* polyadd(lnode *p1, lnode *p2)

else

if (p1->exponent>p2->exponent)

else

ans = temp;

}/*乙個多項式結束了,防止有另乙個沒有結束,將沒有結束的直接傳到目的指標(兩個for迴圈)*/

for (;p1;p1 = p1->next)

for (;p2;p2 = p2->next)

ans->next =

0; return head;

}}/************************

函式名:建立多項式鍊錶函式

輸入:多項式項數

輸出:無頭節點鍊錶head,建立的煉表頭。

************************/

lnode* creatlnode(int n)

p->next =

0; return head;

}/************************

函式名:輸出多項式鍊錶函式

輸入:頭指標

輸出:去掉頭指標的所有項

************************/

void printlnode(lnode* p)

}/************************

函式名:主函式

************************/

int main()

鍊錶的多項式加法鍊錶的多項式加法

老師給的模板看的我不要不要的,真心難看,看了很久才把過載加法搞定了。include using namespace std include 定義結點類 用於表示多項式的一項 class node node int nexp,int ncoef private int exp 指數 int coef ...

多項式加法的實現

採用不帶頭結點的單向鍊錶,按照指數遞減的順序排列各項 思路 倆個指標p1p2分別指向這兩個多項式的第乙個結點,不斷迴圈 include include struct polynode typedef struct polynode polynomial polynomial p1,p2 int co...

2 5 單鏈表的應用 多項式的加法

有bug,懶得改了。includeusing namespace std 構建多項式的結點 struct node node insertafter double a,int n friend ostream operator node node insertafter double a,int n...