堆疊(Stack)的簡介
- 堆疊(Stack)是一個有序列表,它只能在頂端執行插入和刪除。
- 堆疊(Stack)是一個遞歸數據結構,具有指向其頂部元素的指針。
- 堆疊有時被稱為後進先出(LIFO)列表,即首先插入堆疊的元素將最後從堆疊中刪除。
堆疊的一些應用
- 遞歸
- 運算式評估和轉換
- 解析
- 流覽器
- 編輯器
- 樹遍曆
1. 堆疊操作
可以在堆疊上執行各種操作。
1.推入 :將元素添加到堆疊中,如下圖所示:
2.彈出 :從堆疊中刪除元素,如下圖所示:
3.窺視:查看堆疊的所有元素而不刪除它們。
2. 堆疊如何增加?
場景1 :堆疊為空
如果堆疊中不包含任何元素,則稱為空。 在此階段,變數top
的值為-1
。
場景2 :堆疊不為空
每當向堆疊添加任何元素時,top
的值將增加1
。 在下面的堆疊中,添加第一個元素後,top = 2
。
場景3:刪除元素
每當從堆疊中刪除元素時,top
的值將減少1
。在下面的堆疊中,從堆疊中刪除元素10
後,top = 1
。
頂部及其值:
頂部位置 | 堆疊狀態 |
---|---|
-1 | 空 |
0 | 堆疊中只有一個元素 |
N-1 | 堆疊已滿 |
N | 溢出 |