1. 程式人生 > >資料結構 筆記:線性表的鏈式儲存結構

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

鏈式儲存的定義

為了表示每個資料元素與其直接後繼元素之間的邏輯關係;資料元素出了儲存本身的資訊外,還需要儲存直接後繼的資訊。

ps:在邏輯上,元素之間是相鄰的;在實體記憶體中元素之間並無相鄰關係。

鏈式儲存邏輯結構

-基礎鏈式儲存結構的線性表中,每個節點都包含資料域和指標域

·資料域:儲存資料元素本身

·指標域:儲存相鄰結點的地址

專業術語的統一

-順序表

基於順序儲存結構的線性表

-連結串列

·基於鏈式儲存機構的線性表

~單鏈表:每個結點只包含直接後繼的地址資訊

~迴圈連結串列:單鏈表中的最後一個結點的直接後繼為第一個結點

~雙向連結串列:單鏈表中的結點包含直接前去和後繼的地址資訊

連結串列中的基本概念

-頭結點

·連結串列中的輔助結點,包含指向第一個資料元素的指標

-資料結點

·連結串列中代表資料元素的結點,表現形式為:(資料元素,地址)

-尾結點

·連結串列中的最後一個數據結點,包含的地址資訊為空

單鏈表中的內部結構

頭結點在單鏈表中的意義是:輔助資料元素的定位,方便和刪除操作;因此,頭結點不儲存實際的資料元素。

在目標位置處插入資料元素

-從頭結點開始,通過current指標定位到目標位置

-從堆空間申請新的Node結點

-執行操作

node->value = e;
node->next = current->next;
current->next = node;

總結:

-連結串列中的資料元素咋實體記憶體中午相鄰關係

-連結串列中的結點都包含資料域和指標域

-頭結點用於輔助資料元素的定位,方便插入和刪除操作

-插入和刪除操作需要保證連結串列的完整性