資料結構 靜態鍊錶

2021-07-24 22:52:18 字數 750 閱讀 5640

首先我們讓陣列的元素都是由兩個資料域組成,data和cur。也就是說,陣列的每乙個下標都對應乙個data和乙個cur。

資料域data用來存放資料元素,也就是通常我們要處理的資料;而游標cur相當於單鏈表中的next指標,

存放該元素的後繼在陣列中的下標。我們把這種用陣列描述的鍊錶叫做靜態鍊錶。

陣列的第乙個元素,即下標為0的元素的cur就存放備用鍊錶的第乙個結點的下標;而陣列的最後乙個元素的cur

則存放第乙個有數值的元素的下標,相當於單鏈表的頭節點作用,當整個鍊錶為空時,則為0,表示無指向。如圖3-12-2所示

現在如果我們需要在「乙」和「丁」之間插入乙個值為「丙」的元素,只需要將「乙」的cur改為7,表示下一位是「丙」,並將「丙」的cur改為3,表示下一位是丁。

如圖3-12-3所示。

現在如果我們刪除了第乙個元素「甲」,表示現在「甲」這個位置空出來了,如果未來有新人要來則優先考慮這裡,所以刪除的位置成為第乙個優先空位,即首元素的cur為1, 第乙個元素位置的cur改為8,而下標為8的位置cur改為9,最後元素位置的cur改為2,如圖3-12-4所示。

資料結構鍊錶 靜態鍊錶

1 在這裡我們首先要複習一下鍊錶c語言的定義 這看起來很簡單,但實際上至關重要!data域 存放結點值的資料域。next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 也就是說next域儲存的是乙個位址,這個位址是下一節點的位址。注意 鍊錶通過每個結點的鏈域將線性表的n個結點按其邏輯順序鏈結在一...

資料結構 靜態鍊錶

include using namespace std struct node typedef node linklist define maxsize 20 void init linklist list int getlength linklist list int malloc linklis...

靜態鍊錶(資料結構)

靜態鍊錶 結構體變數中包含資料域和游標域 typedef struct node snode 靜態鍊錶 1.陣列的下標為0的元素的游標域存放的是未使用鍊錶的第乙個節點的下標。2.陣列的最後乙個元素 slist size 1 存放的是第乙個有資料值得元素的下標。3.最後乙個元素相當於單鏈表的頭結點。具...