首頁>技術>

線性表的應用—兩個多項式相加

問題描述

兩個多項式的資料分別存放在abc1.in和abc2.in文字檔案中,要求相加的結果多項式的資料存放在abc.out文字檔案中。

問題求解

設計順序儲存結構

每個多項式項用一個列表[ci,ei](其中ci為係數,ei為指數)儲存,一個多項式順序表用元素為列表[ci,ei]的列表data儲存。

例如,多項式p(x)=2x3+3.2x5-6x+10的data列表為[[2.0, 3], [3.2, 5], [-6.0, 1], [10.0, 0]]。

多項式順序表類PolyList

. 設計PolyList的基本運算演算法

(1)PolyList的構造方法

(2)將多項式項e新增到末尾Add(e)

(3)建立多項式順序表CreateList(fname)

(4)返回多項式的項數getsize()

(5)返回序號為i的多項式項

(6)返回多項式的data列表getdata()

(7)對多項式按指數遞減排序Sort()

(8)返回當前多項式與多項式B的相加結果PolyAdd(B)

用i、j分別遍歷A和B的元素,先建立一個空多項式順序表C,在i、j都沒有遍歷完時迴圈,取i指向的A中元素p,取j指向的B中元素q:

① 若p元素的指數(p[1])較大,將p元素新增到C中,i增加1。

② 若q元素的指數(q[1])較大,將q元素新增到C中,j增加1。

上述迴圈過程結束後,若有一個多項式順序表沒有遍歷完,說明餘下的多項式項都是指數較小的多項式項,將它們均新增到C中,最後返回C。

設計主程式

10
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 資料結構線性表(一)