沒有指標,怎麼實現鍊錶?
使用陣列來代替指標來描述單鏈表,叫做靜態鍊錶。
實現方法叫做游標實現法。
其實游標就是指標,指向下乙個的位置。
如上圖,從999開始,指標是1,則指向第乙個下標,對應的是a。
下標1的游標是2,對應的資料是c。
則順序就是 a–c--d–e
優點(和單鏈表一樣)
在插入和刪除操作時,只需要修改游標,不需要移動元素,從而改進了在順序儲存結構中的插入和刪除操作需要移動大量元素的確定。
缺點(比單鏈表還慘)
沒有解決連續儲存分配(陣列)帶來的表長難以確定的問題
失去了順序儲存結構的隨機訪問的特性
靜態鍊錶是為了給沒有指標的程式語言設計的一種實現單鏈表功能的方法。在支援單鏈表的語言中用不到他。不過方法應該了解
資料結構鍊錶 靜態鍊錶
1 在這裡我們首先要複習一下鍊錶c語言的定義 這看起來很簡單,但實際上至關重要!data域 存放結點值的資料域。next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 也就是說next域儲存的是乙個位址,這個位址是下一節點的位址。注意 鍊錶通過每個結點的鏈域將線性表的n個結點按其邏輯順序鏈結在一...
資料結構 靜態鍊錶
首先我們讓陣列的元素都是由兩個資料域組成,data和cur。也就是說,陣列的每乙個下標都對應乙個data和乙個cur。資料域data用來存放資料元素,也就是通常我們要處理的資料 而游標cur相當於單鏈表中的next指標,存放該元素的後繼在陣列中的下標。我們把這種用陣列描述的鍊錶叫做靜態鍊錶。陣列的第...
資料結構 靜態鍊錶
include using namespace std struct node typedef node linklist define maxsize 20 void init linklist list int getlength linklist list int malloc linklis...