鍊錶實現一元多項式建立的另兩種做法

2021-06-18 10:12:21 字數 438 閱讀 8083

先宣告,本人菜鳥,寫的不對還請指出,望賜教。

這幾天看了嚴蔚敏《資料結構》,看到用鍊錶來實現一元多項式,其中有個函式是orderinsert(),即按expn指數值公升序插入,但是引數要用到函式指標,(書上函式為orderinsert(linklist &l),elemtype e,int (*compare)(elemtype ,elemtype))但是函式指標我怎麼寫都是報錯,現在還沒搞明白,報錯初始化有問題。所以我想還有一種可行的辦法

一。只用乙個引數:利用雙向鍊錶來實現,將指標p定位到鍊錶的最後乙個結點,從後往前遍歷。比前乙個大,則加入這個結點;比前乙個小,則往前遍歷,直到比前乙個大為止,插入;若相等,則直接加上這個結點的係數。

二。需要兩個引數:我稱之為兩兩比較法,即要插入的結點與前乙個結點比較,要插入的結點expn大,則直接插入;若相等,則係數想加,若小,則從前往後遍歷,找到合適的結點插入。

一元多項式加法鍊錶實現

使用鍊錶實現一元多項式加法 並使用已有鍊錶返回運算結果 一元多項式求和 void sumlist slist a,slist b else output m output n t m next while m next null n next null else if m next exp n ne...

鍊錶實現一元多項式相加

c 鍊錶實現一元多項式相加 如下 輸入多項式按次數從高到低排列 include include using namespace std intmain 定義節點型別,coe表示x前的係數,order表示x的次數 int coe,order int i int nodenuma 多項式a的項數 pri...

鍊錶實現一元多項式的相加

如下 include include struct polynomial 結構體的定義 void print polynomial l printf n int getlength polynomial l return i void newlist polynomial l l head retu...