資料結構的筆記 線性表

2021-09-29 02:29:11 字數 950 閱讀 4992

線性表的順序儲存結構

陣列,對於我們都不陌生,相對於鏈式儲存來說,就簡單多了,就不多說了。

線性表的鏈式儲存結構

我們一般用到的都是帶頭結點的。

鏈式儲存首先就要考慮結點的定義,著永遠是鏈式儲存的前提

template

<

typename t>

struct node

;

有了這個前提,才能為結點申請空間,注意一定不能忘記申請空間,申請空間我忘了很多次,每次都是runtime error,需要注意。

單鏈表單鍊錶只存在後繼問題,它的構建、析取和遍歷基本上就是個套路,很好理解我就不貼上了。

插入,頭插和尾插不就是一種插入嗎,只是初始位置的確定罷了。

刪除,刪除就需要注意一下,刪除需要儲存刪除結點的前乙個結點的指標,將這個指標指向刪除結點的後乙個結點。

template

<

class

t>

t linklist

::delete

(int i)if(

!p ||

!p->next)

throw

"位置"

;//結點p不存在或結點p的後繼結點不存在

else

}

雙鏈表

雙鏈表是在單鏈表的基礎上加了前趨,在插入和刪除的時候,需要考慮前後指標的改變。

注意刪除的是否是尾結點。

q-

>rlink=p-

>rlink;

p->rlink=q;

q->llink=p;

if(q-

>rlink)

q->rlink-

>llink=q;

迴圈鍊錶

在單鏈表的基礎上加上尾結點的指標指向頭指標,實現迴圈。

資料結構筆記 線性表

思考 怎麼程式設計解決多項式相加問題?1.線性表概念 由同型別資料元素構成的有序序列的線性結構 1.表中元素個數稱為線性表的長度 2.線性表中沒有元素時稱為空表 3.表的起始位置稱為表頭,結束位置稱為表尾。2.線性表的adt描述 3.線性表的順序儲存實現 未測試 include using name...

資料結構筆記 線性表

資料元素的資料型別。struct seqlist seqlist sl create int maxlen void sl free seqlist slist 釋放 刪除 順序表。與sqlst create 配對。void sl makeempty seqlist slist 置為空表。intsl...

資料結構 筆記 線性表

定義 由同型別資料元素構成有序序列的線性結構 型別名稱 list 物件集 n n 0 個元素構成的有序序列 操作集 list makeempty 初始化乙個空線性表l elementtype findkth int k,list l 根據位序k,返回相應元素 int find elementtype...