浙江大學資料結構 多項式加法和乘法

2021-09-14 02:41:00 字數 1323 閱讀 9358

02-線性結構2 一元多項式的乘法與加法運算 (20 分)

設計函式分別求兩個一元多項式的乘積與和。

輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。

輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0

4 3 4 -5 2  6 1  -2 0

3 5 20 -7 4 3 1

15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1

5 20 -4 4 -5 2 9 1 -2 0

這裡只給出**,借鑑了老師的**;

*/ #include #include typedef struct polynode *polynomial;

struct polynode;

void attach(int c,int e,polynomial *prear)

polynomial readpoly()

t = p;

p = p->link;

free(t); //刪除臨時生成的頭結點

return p;

}polynomial add(polynomial p1,polynomial p2)

else if(t1->expon > t2->expon)

else

}while(t1)

while(t2)

rear->link = null;

temp = front;

front = front->link;

free(temp);

return front;

} polynomial mult(polynomial p1,polynomial p2)

t1 = t1->link;

while(t1)

}else//如果小於,建立新節點,並且儲存資料 。

t2 = t2->link;

} t1=t1->link;

} t2 = p;

p=p->link;

free(t2);

return p;

} void printpoly(polynomial p)

//p為空是

while(p)

printf("\n");

}int main(int argc, char *ar**)

PTA資料結構習題(浙江大學)

感謝疫情期間pta開放免費練習,趁著這個機會補一下資料結構的代 include include include struct stud node struct stud node createlist struct stud node deletelist struct stud node head...

資料結構 鍊錶 多項式加法

問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法。可以看出,這種方案適合對某些多項式的處理。但是,在處理一些次數高但項數少的多項式時,存在浪費空間的現象,會有很多閒置的0。可以使用如下定義的單鏈表結構儲存多項式 鍊錶中的每乙個結點是多項式中的一項,結點的資料域包括指數和係數兩部分,由指標域連...

資料結構筆記 多項式加法運算

乙個多項式如果使用資料結構儲存在計算機中,有以下兩種表示方法 1 使用n 2長度的一維陣列來存放,陣列的第乙個位置儲存最大指數n項的係數其他位置按照指數n遞減,按序儲存對應項數 p n,an,an 1,a1,a0 例如p x 2x 5 3x 4 5x 2 4x 1轉換為陣列a,a 5,2,3,0,5...