資料結構 筆記:線性表的鏈式儲存結構
阿新 • • 發佈:2018-11-10
鏈式儲存的定義
為了表示每個資料元素與其直接後繼元素之間的邏輯關係;資料元素出了儲存本身的資訊外,還需要儲存直接後繼的資訊。
ps:在邏輯上,元素之間是相鄰的;在實體記憶體中元素之間並無相鄰關係。
鏈式儲存邏輯結構
-基礎鏈式儲存結構的線性表中,每個節點都包含資料域和指標域
·資料域:儲存資料元素本身
·指標域:儲存相鄰結點的地址
專業術語的統一
-順序表
基於順序儲存結構的線性表
-連結串列
·基於鏈式儲存機構的線性表
~單鏈表:每個結點只包含直接後繼的地址資訊
~迴圈連結串列:單鏈表中的最後一個結點的直接後繼為第一個結點
~雙向連結串列:單鏈表中的結點包含直接前去和後繼的地址資訊
連結串列中的基本概念
-頭結點
·連結串列中的輔助結點,包含指向第一個資料元素的指標
-資料結點
·連結串列中代表資料元素的結點,表現形式為:(資料元素,地址)
-尾結點
·連結串列中的最後一個數據結點,包含的地址資訊為空
單鏈表中的內部結構
頭結點在單鏈表中的意義是:輔助資料元素的定位,方便和刪除操作;因此,頭結點不儲存實際的資料元素。
在目標位置處插入資料元素
-從頭結點開始,通過current指標定位到目標位置
-從堆空間申請新的Node結點
-執行操作
node->value = e; node->next = current->next; current->next = node;
總結:
-連結串列中的資料元素咋實體記憶體中午相鄰關係
-連結串列中的結點都包含資料域和指標域
-頭結點用於輔助資料元素的定位,方便插入和刪除操作
-插入和刪除操作需要保證連結串列的完整性