資料結構 五 線性表的鏈式儲存結構介紹

2021-10-06 16:46:53 字數 700 閱讀 6552

順序結構插入和刪除需要大量移動元素,能不能想辦法解決呢?

產生這種情況的根本原因是邏輯上相鄰的元素在儲存空間上也相鄰。

順序儲存需要一塊連續的空間,那如果我們只有零散的空間呢?

解決這兩個問題,我們可以考慮使用鏈式儲存。

線性表的鏈式儲存是指通過一組任意的儲存單元來儲存線性表中的資料元素。

為了建立起資料元素之間的線性關係,對每個鍊錶結點,除了存放元素自身的資訊之外,還需要存放乙個指向其後繼的指標。即乙個結點包含資料域和指標域。因為每個結點只有乙個指標指向下乙個結點,故又稱單鏈表

typedef

struct lnodelnode,

*linklist;

//lnode是結構體的名字,

*inklist是指向這個結構體的指標型別,定義為linklist

通常用「頭指標」來表示乙個單鏈表,例如linklist l ,就代指乙個單鏈表,頭指標為「null」時則表示乙個空表。

3.1 頭結點和頭指標的區別

不管帶不帶頭結點,頭指標始終執行鍊錶的第乙個結點,而頭結點是帶頭結點鍊錶中的第乙個結點,結點內通常不儲存資訊。

3.2 為什麼要設定頭結點

處理起來方便。例如:對在第一元素結點前插入結點和刪除第一結點起操作與其它點的操作就可以統一了

無論鍊錶是否為空,其頭指標是指向頭結點的非空指標,因此空表和非空表的處理也就統一了

資料結構(五) 線性表的鏈式描述小結

鏈式描述的線性表 使用指標 對比公式化線性表的優勢 鏈式描述的合併時間複雜度為o 1 在知道前驅的情況下,插入和刪除操作的時間複雜度為o 1 插入 刪除操作用比較操作代替公式化線性表平均移動半個表的操作 有廣泛的應用例項,指標更靈活,不受空間連續性的限制。很多很多 鏈式描述的線性表的插入 刪除操作中...

資料結構 鏈式儲存線性表

鏈式儲存結構的線性表 簡稱為鍊錶 將採用一組位址任意的儲存單元存放線性表中的資料元素,鏈式結構的線性表不會按線性的邏輯順序來儲存資料元素,它需要在每乙個資料元素裡儲存乙個引用下乙個資料元素的引用。優點 插入 刪除元素快,充分利用計算機記憶體空間 缺點 查詢元素需要整體遍歷,空間開銷大 單鏈表 cre...

線性表的鏈式儲存 資料結構

為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,除了儲存本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 我們把儲存資料元素資訊的位置稱為資料域,把儲存其直接後繼資訊的位置稱為指標域。這兩部分組成資料元素的結點 node 頭結點頭結點是為了操作的統一和方便而設立的,放在...