資料結構 鍊錶

2021-09-14 06:41:24 字數 1609 閱讀 1775

xue 2019.3.30

2,常見題目

1,資料機構:八大資料結構分類

1,鍊錶是物理儲存單元上非連續的,非順序的儲存結構,資料元素的邏輯順序是通過鍊錶的指標位址實現。

2,每個元素包含兩個結點:1,儲存元素,資料域(記憶體空間);2,指向下乙個結點位址,指標域。

3,常見結構:單鏈表,雙向鍊錶,迴圈鍊錶

優點:1,不需要初始化容量,可以任意加減元素

2,新增或刪除元素時只需要改變前後兩個元素結點的指標域指向位址即可,能很快的新增/刪除。

缺點:

1,因為需要大量的指標域,占用空間大

2,查詢元素需要遍歷鍊錶,耗時大

適用場景:

資料量小,頻繁增加/刪除的場景。

主要優點:更容易訪問相鄰結點

主要優點:從表中任意結點出發都能訪問整個鍊錶

問題描述:判斷乙個鍊錶是否存在環

//通過設定兩個指標p1,p2,每次迴圈p1向前走一步,p2向前走兩步。當p1,p2觸碰到null,或者兩者相等時結束。

struct link

bool

isloop

(link* head)

while

(p2 && p2-

>next && p1!=p2);if

(p1 == p2)

return

true

;else

return

false

;}

問題描述:將鍊錶反轉

struct link

void

reverse

(link *

&head)

//*&表示link指標的引用

//頭變成尾,此時將結束位設為null

head-

>next =

null

; head = pre;

return

;}

方法2(遞迴法):

link*

reverse

(link *p,link *

&head)

else

}

【leetcode】反轉鍊錶 ii

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

return dummy-

>next;}}

;

資料結構 鍊錶

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

資料結構 鍊錶

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

資料結構 鍊錶

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