資料結構 鍊錶

2021-09-27 18:38:04 字數 990 閱讀 5976

鍊錶是一種線性表資料結構,它用一組不需要連續的記憶體空間

三種常見的鍊錶結構

單鏈表、雙向鍊錶、迴圈鍊錶

單鏈錶鏈表通過指標將一組零散的記憶體塊串聯在一起。其中,我們把記憶體塊稱為鍊錶的"結點"。為了將所有的結點串起來,每個鍊錶的結點除了儲存資料之外,還需要記錄鏈上的下乙個結點位址 next指標。

迴圈鍊錶

雙向鍊錶

分析鍊錶刪除刪除操作:

刪除的2中情況:

分析鍊錶刪除插入操作:

空間換時間設計思想

雙向迴圈鍊錶

鍊錶vs陣列效能比拼

如何基於鍊錶實現lru緩衝

優化的思考:m緩衝訪問的時間複雜度是多少,因為不管緩衝有沒有滿,都需要遍歷一遍鍊錶o(n),可以繼續優化,引入雜湊表來記錄每乙個位置,將緩衝的時間複雜度降為o(1)。

鍊錶**易錯

-指標引用的理解:將某個變數賦值給指標,實際上就是將這個變數的位址賦值給指標,反過來說,指標中儲存了這個變數的記憶體位址,指向這個變數,通過指標就是找到這個變數。

- p-next = q,p結點中的next指標儲存了q結點的記憶體位址

- p->next = p->next->next,p結點next指標儲存了p結點的下下乙個結點的記憶體位址

資料結構 鍊錶

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

資料結構 鍊錶

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

資料結構 鍊錶

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