資料結構 1 3 多項式相加

2022-06-01 02:09:07 字數 1774 閱讀 2887

其實這個還是有點問題的,在偶見情況下會列印出0*x,目前無解唔。。。

原理就是借用線性表,然後做運算直接先插入到後面。

然後遍歷一下,只要指數相同就合併在前面乙個裡面,後面的歸0(不刪除)。

列印的時候加乙個判斷是否為0的條件就行了。

下面是原始碼:

#include#include

using

namespace

std;

struct

node

;class

polynomial

;polynomial::polynomial()

polynomial::polynomial(

double a, int n, int

number)

setup();

}polynomial::~polynomial()

}void polynomial::add(double a, int n, int

number)

tail->link =null;

setup();

}void polynomial::subtract(double a, int n, int

number)

tail->link =null;

setup();

}void

polynomial::setup()

p = p->link;

}m = m->link;

}tail->link =null;

}void

polynomial::print()

node *p =head;

while (p !=null)

if (p->coe == 0

)

else}}

}int

main()

polynomial test1(coe, index, number);

test1.print();

cout

<< "

請輸入相加的多項式的元素個數:

">number;

delete

index;

delete

coe;

index = new

int[number];

coe = new

double

[number];

for (int i = 0; i < number; i++)

test1.add(coe, index, number);

cout

<< "

相加成功!

"

cout

<< "

請輸入相減的多項式的元素個數:

">number;

delete

index;

delete

coe;

index = new

int[number];

coe = new

double

[number];

for (int i = 0; i < number; i++)

test1.subtract(coe, index, number);

cout

<< "

相減成功!

"

system(

"pause");

return0;

}

資料結構之多項式相加

問題描述 編寫乙個程式用單鏈表儲存多項式,並實現兩個一元多項式a與b相加的函式。a,b剛開始是無序的,a與b之和按降序排列。例如 多項式a 1.2x 0 2.5x 1 3.2x 3 2.5x 5 多項式b 1.2x 0 2.5x 1 3.2x 3 2.5x 5 5.4x 10 多項式a與b之和 5....

資料結構 鍊錶,多項式相加

指標真的是蠻重要的,基礎不牢怨不得別人,鍊錶差點給我學自閉,尤其是資料結構演算法這塊 下面分享乙個很簡單的鍊錶應用 多項式相加 ps 多項式錄入還不完善,故只能按指數從小往大挨個順序輸入 水平較差請多諒解,應用基礎 c 雖然可讀性不高但耐心點初學者應該都能讀懂 1.面向結構的程式語言 將程式按照功能...

資料結構學習 多項式相加

多項式相加 include include typedef struct lnodelnode typedef struct lnode linklist void createlist l linklist l void initlist l linklist l void createlist ...