編寫程式用單連結串列儲存多項式,並實現兩個多項式相加的函式

2021-04-08 14:16:51 字數 3159 閱讀 2127

1樓:_鈊_煩_薏亂

/* 多項式加法和乘法示例 */

#include

#include

#include

using namespace std;

//定義多項式的項類

class term

}; //定義多項式類

class polyarith

else if(t_second.exp>t_first.exp)

else }

//該for迴圈針對第一個多項式的迭代器沒有指到結尾

//第二個指到結尾的情形

for(;iter_first != poly_list_first.end();iter_first++)

//該for迴圈針對第二個多項式的迭代器沒有指到結尾

//第一個指到結尾的情形

for(;iter_second != poly_list_second.end();iter_second++)

return poly_list_result;

}public:

//輸入函式,用以輸入多項式

void poly_input()

n = 0;

cout<<"請輸入第二個多項式的項數:"<>n;

cout<<"按降冪輸入第二個多項式的每一項的係數和指數:";

cout<>t_temp.coef;

cin>>t_temp.exp;

m_poly_list_second.push_back(t_temp);

} }

//輸出函式,用以輸出多項式

void poly_output()

else if(t_second.exp>t_first.exp)

else

}for(;iter_first != m_poly_list_first.end();iter_first++)

for(;iter_second != m_poly_list_second.end();iter_second++)

}//乘法函式,用以作多項式乘法

void poly_multi()

//此處呼叫私有成員函式poly_add()

poly_list_result =\

poly_add(poly_list_temp,poly_list_result);

}//將運算結果賦值給私有資料成員,用以輸出

m_poly_list_result = poly_list_result;

} };

//測試函式

int main()

資料結構(c語言)用單連結串列儲存一元多項式,並實現兩個多項式的相加運算

資料結構(c語言)用單連結串列儲存一元多項式,並實現兩個多項式的相加運算,怎麼做?

資料結構c語言 用單連結串列儲存一元多項式,並實現兩個多項式的相加運算(語法沒有錯誤)可能指標錯了

2樓:無淚

裡面的演算法有點問題!

我依照你的演算法,補充了一下程式!裡面新編寫了一個函式void copylist(linklist * a,linklist *b) ;

同時做了一點修改!也許,程式的可讀性不好,你可以自己再修改!**如下:

#include

#include

#define max 20 //多項式最多項數

typedef struct elemtype;

typedef struct lnode

linklist;

r->next=null; }/*

將一個連結串列的部分或全部結點複製到另一個連結串列中,

a是新連結串列的最後一個結點,b是被複制連結串列的某一結點

即讓要複製的結點加到新連結串列的尾部*/

void copylist(linklist * a,linklist *b) //

last->next=null; //新連結串列尾結點中next指標的值設為null,即新連結串列建立完成

銷燬連結串列

free(pre);

} void displist(linklist *l)

printf("\n");

}

}/*下面其他兩種情況的處理都是同一個道理,

在比較過程中,只要其中一個連結串列的所有結點都遍歷了,

此時只需要將另一個連結串列的剩餘結點都加到p3中,就可以完成連結串列的合併

*/else if ((p->data.exp) == (q->data.exp))

if (q->next != null)

q = q->next;

else

}else

}}/*在建立連結串列過程中,指標p3的值一直在改變,因此在完成合並連結串列後必須使p3指向頭結點*/

p3=head;

}void bubblesort(elemtype st,int n)}}

void main()

, , , , };

elemtype st2 = , , , , };

bubblesort(st1, num1);

bubblesort(st2, num2);

createlistr(l1, st1, num1);

createlistr(l2, st2, num2);

displist(l1);

displist(l2);

add(l1, l2, l3);

displist(l3);

destroylist(l1);

destroylist(l2);

destroylist(l3);}

用指標編寫程式,用指標編寫一個程式

include include include define max 100 輸入的最大字元數為100 int main printf character total number is d n total printf upper character number is d n count upp...

用c語言編寫程式,求s

staticvoidmain stringargs console.writeline 結果回 是答 sum console.readkey 用c語言編寫程式,計算s 1 1 2 1 2 3 1 2 3 n include usingnamespacestd intmain cout 結果2為 re...

編寫程式用c語言不是c儘量多做視程式質量

1.char s 100 int r 記錄空格位置 for i 0 i 100 i if s i 0 break 檢測到 結束 for i i 1 i 0 i if s i break 往回檢測那裡不是空格 r i 1 尾部空格開始的位置 s r 0 新字串的結束標識 2int i char s 1...