資料結構 鍊錶

2021-09-28 14:49:58 字數 1531 閱讀 5561

寫出來還是能夠增加印象與領悟的。話不多說,show code。

int

main()

將pp和ps分別作為兩個多項式(以鍊錶形式儲存)相乘和相加得到結果多項式的頭節點的指標

typedef

struct polynode *polynomia;

//polynomia的指標變數指向該鍊錶

struct polynode

;

polynomia readpoly()

t=p;p=p->link;

free

(t);

//刪除頭節點(空)

return p;

//p指向當前鍊錶的首節點

}

void

attach

(int c,

int e,polynomia *prear)

polynomia add

(polynomia p1,polynomia p2)

else}}

//當有乙個多項式已經沒有項數時

while

(p1)

while

(p2)

//rear->link=null;

temp=p;

p=p->link;

free

(temp)

;return p;

//temp作為零時節點,儲存p(起初設定的空節點),將p指向多項式的首節點(非空),返回此多項式的頭結點p

}

polynomia mult

(polynomia p1,polynomia p2)

t1=p1;t2=p2;

//分別用t1和t2記錄兩個多項式的頭結點

while

(t2)

t1=t1->link;

while

(t1)

}else

t2=t2->link;

} t1=t1->link;

} t2=p;p=p->link;

free

(t2)

;return p;

//返回相乘完鍊錶的頭結點

}

最後,輸出函式:

void

printpoly

(polynomia p)

int flag=0;

//設定標誌位

while

(p)printf

("\n");

}

這裡輸出的格式是先不輸出空格,後面每次輸出係數,指數後有空格。便以空格,係數,指數為乙個單位,將得到的多項式從第乙個節點遍歷到最後乙個即可。一開始的標誌位,使得第一組沒有空格,可以說是還算巧妙了,也自此積累了乙個輸出格式的方法。

資料結構 鍊錶

鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...

資料結構 鍊錶

鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...

資料結構 鍊錶

一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...