讀書筆記 棧和佇列

2022-04-11 17:02:35 字數 437 閱讀 3985

棧是個順序的空間結構,其主要原理是開闢乙個初始的、連續的空間以供節點的插入,棧節點之間並沒有邏輯上的關聯,也就是說,上乙個節點並沒有儲存下乙個節點的位址,也就是指標。所以棧的清空可以直接將頭指標指向尾指標所指向的,下乙個節點插入將覆蓋掉原來的資料。簡而言之,刪除乙個節點是將該節點從棧中刪除,而並沒有刪除這個節點的資料。而佇列不同,佇列節點與節點之間有邏輯上的關聯,上乙個節點的指標域儲存下乙個節點的位址,而他們之間的訪問則要遍歷整個佇列。所以清空佇列需要依次清空,而不能直接在頭指標和尾指標進行操作。

1 typedef struct

qnodeqnode,*queuptr;

5 typedef struct

linkqueue;

9 status destroyqueue(linkqueue &q)

15return

ok;16 }

大話資料結構讀書筆記(四) 棧和佇列

四 棧和佇列 棧 是限定僅在表尾進行插入和刪除操作的線性表。把允許插入和刪除的一端稱為棧頂,另一端稱為棧底,不含任何資料元素的棧稱為空棧。棧又稱為後進先出的線性表,簡稱lifo結構。線性表就有線性表的性質 棧的插入操作,叫做進棧,也稱壓棧 入棧。棧的刪除操作,叫做出棧,也稱彈棧。通項計算c 2n,n...

讀書筆記 區域性變數和棧幀

區域性變數 local variable 是指作用域和生命週期都侷限在所在函式或過程範圍內的變數,它是相對於全域性變數 global variable 而言的。編譯器在為區域性變數分配空間時通常有兩種做法 使用暫存器和使用棧。暫存器的訪問速度快,但數量和空間有限,所以像字串或陣列不適合分配在暫存器中...

讀書筆記 區域性變數和棧幀

區域性變數 local variable 是指作用域和生命週期都侷限在所在函式或過程範圍內的變數,它是相對於全域性變數 global variable 而言的。編譯器在為區域性變數分配空間時通常有兩種做法 使用暫存器和使用棧。暫存器的訪問速度快,但數量和空間有限,所以像字串或陣列不適合分配在暫存器中...