學習筆記之資料結構篇 棧和佇列

2021-08-21 20:45:12 字數 793 閱讀 6545

棧和佇列是兩種特殊的線性表(特殊之處在於插入和刪除操作的位置受到限制)

棧頂(top):允許操作的一端;棧底(bttom):不允許操作的一端;

棧通常包括的三種操作:push、peek、pop。

push -- 向棧中新增元素。peek -- 返回棧頂元素。pop -- 返回並刪除棧頂元素的操作。

順序棧:入棧和出棧操作實現為順序表尾插入和尾刪除,時間複雜度為o(1).

鏈式棧 :入棧操作時頭刪除,在棧頂結點之前插入結點;出棧操作是頭刪除,刪除棧頂結點並返回棧頂元素,再使top指向新的棧頂結點。(其插入和刪除操作僅限制在鍊錶的表頭位置上進行,故鏈棧沒有必要象單鏈表一樣附加頭結點,棧頂指標即為鍊錶的頭指標。)

對尾(rear):允許入隊的一端; 對頭(front):允許出隊的一端。

演算法與資料結構之棧和佇列篇

1.在棧的adt定義中,除初始化操作外,其他基本操作的初始條件都要求棧已存在。2.棧是操作受限 或限定僅在表尾部進行插入和刪除操作 的線性表,其運算遵循的是先進後出原則。4.向棧中壓入元素的操作是先進棧,後退棧。5.當兩個棧共享一儲存區時,棧利用一維陣列stack 1,n 表示,兩棧頂指標為top ...

資料結構筆記 棧和佇列

棧和佇列的特性,乙個是先進後出,乙個是先進先出。對於棧來說,可以通過鍊錶或者陣列來進行實現 對於順序棧來說,如下 順序棧類seqstack的類定義 const int stacksize 10 10是示例性的資料,根據實際問題具體定義 template 定義模板類seqstack class seq...

資料結構筆記 棧和佇列

1 棧1.1 棧基本概念 出棧和入棧 棧的本質是乙個線性表,線性表有兩種儲存形式,那麼棧也有分為棧的順序儲存結構和棧的鏈式儲存結構 最開始棧中不含有任何資料,叫做空棧,此時棧頂就是棧底。資料從棧頂進入,棧頂棧底分高,整個棧的當前容量變大 資料出棧時從棧頂彈出,棧頂下移,整個棧的當前容量變小 1.2 ...