一、概念:
堆棧與隊列也是線性表,但是:
堆棧:只能在一個端進行插入刪除,此端稱為棧頂。(特點:后來居上)
隊列:在一端進行插入(隊尾),一端進行刪除(隊頭)。(特點:先進先出)
二、堆棧:
1.順序棧:
2.多棧共享空間問題:
以兩個棧為例:設置兩個指針維護棧頂,當兩個指針相遇才會棧滿。
3.鏈式棧:
以鏈表實現堆棧結構,不會出現棧滿。
三、隊列:
1.循環隊列:
(1)假溢出問題:
每出隊列一次,需要把整個隊列依次往前提1位,否則出現看似溢出,實則前面有空位。
解決:循環隊列。
(2)實現:
利用取模確定位置。
2.鏈式隊列:
即用鏈表形式,實現隊列結構。