特點:後進先出
類似於乙個桶.
結構定義:
棧頂初始化為-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 注意它與資料結...