堆疊


堆疊(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 溢位