C語言中的線性表、順序表和連結串列到底是什麼關係?

  • 作者:由 匿名使用者 發表于 攝影
  • 2022-10-12

C語言中的線性表、順序表和連結串列到底是什麼關係?被判無妻徒刑2018.12.16 回答

這個要看資料結構的書籍。

線性表是一類ADT,指的是除了頭尾,每一項都有前驅後繼項。

順序表使用陣列實現這個;連結串列使用指標實現這個,分單鏈表(每一項只有指向下一個的指標)、雙鏈表(每一項有指向上一個下一個兩個指標)。

===========================

線性表定義了一種資料結構,從邏輯上定義了各項之間的關係。

順序表和連結串列透過兩種不同的儲存方式實現了這種資料結構。

順序表使用陣列實現,在記憶體中是連續的,陣列放滿時,需要手動重新分配或者乾脆報錯。

連結串列使用指標實現,在記憶體中可以不連續,而且長度只受記憶體大小限制。

C語言中的線性表、順序表和連結串列到底是什麼關係?匿名2018.11.21 回答

線性表 就是abc這樣一個個資料按順序下去的。他們的記憶體儲存也是abc這樣一個個下去的,|a|b|c|。。。|。就是記憶體中要連續儲存

線性連結串列 就是資料看上去是abc這樣下去的,記憶體裡面是|b|。。。|c|。。。|a|。。。|這樣的混亂順序排列的,就是記憶體中儲存位置任意。他們用節點指標連線。也就是說a資料後面還有個指標指向b資料的記憶體地址。

連結串列 顧名思義包括線性連結串列,還有什麼迴圈連結串列,雙向連結串列啊啥的。。

給你畫個圖把。。連結串列的。(線性連結串列)

(a,b,c,d,e)

儲存地址 資料 指向地址

1 b 99

18 e null

28 d 18

50 a 1

99 c 28

這樣的話他們儲存在1。18。28。50。99。位置上,而且順序亂來,但顯示

出來卻是(a,b,c,d,e)

Top