資料結構之多項式(C )

2021-06-16 09:02:34 字數 2174 閱讀 4941

資料結構多項式,運用到類的複製建構函式,靜態成員等基礎知識,簡單實現了加法和乘法運算,但是對乘法(複雜度比較高)暫時做這樣處理。

對於多項式的構成這些不做多餘介紹。本**純手工製作,難免有不足之處。

標頭檔案: polynomial .h

#ifndef polynomial_h

#define polynomial_h

#include using namespace std;

class polynomial; // forward declaration

class term

float getcoef() const

void setexp(int nexp)

void setcoef(float fcoeff)

};class polynomial

memset(termarray, 0, sizeof(term) * capacity);

}polynomial(const polynomial& rhs)

: termarray(null)

polynomial& testdata(bool isright);

const polynomial& operator= (const polynomial& rhs);

~polynomial()

polynomial add(polynomial &b); // 多項式加法

polynomial mult(const polynomial &rhs); // 多項式乘法

// polynomial merge(polynomial &rhs); // 多項式每項相加表示式

void remove(int nindex);

friend ostream & operator<< (ostream & out, const polynomial& rhs);

friend istream & operator>> (istream & ins, polynomial& rhs);

};#endif

原始檔: polynomial.cpp

#include "polynomial.h"

#include const polynomial& polynomial::operator= (const polynomial& rhs)

return *this;

}polynomial polynomial::add(polynomial &rhs)

}else if (termarray[apos].exp > rhs.termarray[bpos].exp)

else

++free;

}return c;

}void polynomial::remove(int nindex)

polynomial polynomial::mult(const polynomial &rhs)

}term* pterm = new term[nindex];

// check the polynomial's exp is equal

for (int k = 0; k < nindex; ++k)

}} ctemp.terms = free;

return ctemp;

}polynomial& polynomial::testdata(bool isright)

else

return *this;

}ostream & operator<< (ostream & out, const polynomial& rhs)

istream & operator>> (istream & ins, polynomial& rhs)

return ins;

}int polynomial::free = 0;

/*int polynomial::multfree = 0;*/

測試檔案: testmain.cpp 

#include "polynomial.h"

int main()

測試結果:

資料結構之多項式相加

問題描述 編寫乙個程式用單鏈表儲存多項式,並實現兩個一元多項式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....

資料結構實驗,多項式類

多項式類標頭檔案 2013.5.24 該檔案定義乙個polynomial 多項式 類 類中使用帶頭節點的鏈式佇列儲存多項式資訊 每個節點的c表示多項式每一項的係數 頭結點的c表示項數 e表示每一項的指數 輸入資料格式以下為例 3.1x8 11x9 2x 7 9x 9x 3x 6x 3 x 4.4x2...

資料結構實踐 多項式求和

檔名稱 main.cpp,完成日期 2015年10月5日 版本號 vc 6.0 問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法。輸入描述 無 程式輸出 演算法結果 include include define max 20 多項式最多項數 typedef struct 定義存放多項式的陣列...