基礎知識 棧

2021-09-11 18:00:39 字數 652 閱讀 8195

特點:後進先出

類似於乙個桶.

結構定義:

棧頂初始化為-1

int *data//資料區

int max_size, top_index//棧頂指標下標

入棧:

棧頂指標向上移動一位
出棧:

棧頂指標向下移動一位
表示式求值
兩個棧, 乙個裝數, 乙個裝符號.

用isdigit()函式分辨他是否為數字0-9

返回值: 是->1 否->0 標頭檔案如果運算子棧為空, 或者當前字元的優先順序比運算子棧頂運算子優先順序高, 應該把運算子加入棧裡.

如果運算子棧不為空, 從數字棧中彈出兩個數, 通過和運算子棧頂運算子計算出結果, 然後把結果加入到數字棧中.

解木板倒水問題.(從棧底到棧頂單調遞減)

先輸入第i塊木板的高度, 然後標記下木板編號, 記錄到變數temp裡. 接著, temp依次和棧頂元素a比較,

如果a的高度小於等於temp的高度, 則彈出.

棧的基礎知識

棧 stack 是一種特殊的線性表,其包括順序棧 seqstack 和鏈式棧 linkedstack 棧的基本操作包括建立棧 判斷棧是否為空 isempty 入棧 push 出棧 pop 和取棧頂元素 get 等,其實現的介面如下所示 public inte ce sstack 1 順序棧 seqs...

棧的基礎知識

棧 棧是限定在表尾進行插入和刪除操作的線性表 佇列是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。把允許插入和刪除的一端稱為棧頂 top 另一端稱為棧底 bottom 不含任何資料元素的棧稱為空棧。棧又稱為後進先出的線性表。lifo。棧的插入操作,叫做進棧,也稱為壓棧,入棧。子彈入彈夾 ...

堆與棧的基礎知識

一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結...