基本資料結構 棧 佇列和鍊錶

2021-08-03 20:03:42 字數 804 閱讀 4636

棧(stack)實現的是一種依照先進先出(last—in,first-out,lifo)原則的結構,也就是說最後放入的元素總是最先被取出。

佇列(queue)實現的是一種依照先進先出(first-in,first-out,fifo)原則的結構,也就是說最先放入的元素總是最先被取出。

至於為什麼會存在這兩種如此簡單的結構,是因為我們在日常生活中經常採用上面的兩個原則來處理一些資料。

棧上的插入(insert)經常被稱做壓入或入棧(push);刪除元素操作(delete)經常被稱作彈出(pop),另外檢查棧是否為空的函式是(stackisempty)。

以下**是基於陣列的棧實現,以及簡單的測試入棧操作。

至於佇列的enqueue於dequeue操作類似建議大家自己動手敲一下吧。

鍊錶見下節博文。

基本資料結構 表 棧和佇列

1 棧 後進先出 的兩種實現方式 指標和表 用指標方式實現棧的基本操作 createstack void h檔案 ifndef stack h struct node struct node typedef struct node ptrtonode typedef ptrtonode stack ...

基本資料結構 鍊錶

鍊錶 鍊錶與陣列的區別是鍊錶中的元素順序是有各物件中的指標決定的,相鄰元素之間在物理記憶體上不一定相鄰。採用鍊錶可以靈活地表示動態集合。鍊錶有單鏈表和雙鏈表及迴圈鍊錶。書中著重介紹了雙鏈表的概念及操作,雙鏈表l的每乙個元素是乙個物件,每個物件包含乙個關鍵字和兩個指標 next和prev。鍊錶的操作包...

基本資料結構 鍊錶

談到鍊錶之前,先說一下線性表。線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表有兩種儲存方式,一種是順序儲存結構,另一種是鏈式儲存結構。順序儲存結構就是兩個相鄰的元素在記憶體中也是相鄰的...