資料結構 鍊錶

2021-08-30 19:44:46 字數 1532 閱讀 4120

目錄3

、雙向鍊錶

4、總結

鍊錶(linked list)是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每乙個節點裡存到下乙個節點的指標(pointer)。

使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶體空間,實現靈活的記憶體動態管理。但是鍊錶失去了陣列隨機讀取的優點,同時鍊錶由於增加了結點的指標域,空間開銷比較大。

單鏈表是鍊錶中結構最簡單的。乙個單鏈表的節點(node)分為兩個部分,第乙個部分(data)儲存或者顯示關於節點的資訊,另乙個部分儲存下乙個節點的位址。最後乙個節點儲存位址的部分指向空值。

單向鍊錶只可向乙個方向遍歷,一般查詢乙個節點的時候需要從第乙個節點開始每次訪問下乙個節點,一直訪問到需要的位置。而插入乙個節點,對於單向鍊錶,我們只提供在煉表頭插入,只需要將當前插入的節點設定為頭節點,next指向原頭節點即可。刪除乙個節點,我們將該節點的上乙個節點的next指向該節點的下乙個節點。

雙向鍊錶插入和刪除操作:

}//指定下標刪除

public void remove(int index) else

//刪除節點為最後乙個節點

if(nextnode==null) else

oldnode.item = null;

size--;}}

//根據下標獲取node

nodenode(int index) else

}private string outofboundsmsg(int index)

private void checkelementindex(int index)

private boolean iselementindex(int index)

//查詢指定位置元素

public void add(int index, e element) elseelse

oldnode.prev = newnode;}}

}

資料結構 鍊錶

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

資料結構 鍊錶

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

資料結構 鍊錶

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