C++STL第四篇(最簡單的棧和佇列)

ivanlee717發表於2024-03-17

stack&queue

stack

stack是一種先進後出(First In Last Out,FILO)的資料結構,它只有一個出口,形式如圖所示。stack容器允許新增元素,移除元素,取得棧頂元素,但是除了最頂端外,沒有任何其他方法可以存取stack的其他元素。換言之,stack不允許有遍歷行為。

有元素推入棧的操作稱為:push,將元素推出stack的操作稱為pop.

image-20240317162846796

stack沒有迭代器

Stack所有元素的進出都必須符合”先進後出”的條件,只有stack頂端的元素,才有機會被外界取用。Stack不提供遍歷功能,也不提供迭代器。

stack建構函式

stack stkT;//stack採用模板類實現, stack物件的預設構造形式:

stack(const stack &stk);//複製建構函式

stack資料存取操作

push(elem);//向棧頂新增元素 pop();//從棧頂移除第一個元素 top();//返回棧頂元素

stack大小操作

empty();//判斷堆疊是否為空 size();//返回堆疊的大小

queue

Queue是一種先進先出(First In First Out,FIFO)的資料結構,它有兩個出口,queue容器允許從一端新增元素,從另一端移除元素。

image-20240317164148445

queue沒有迭代器

Queue所有元素的進出都必須符合”先進先出”的條件,只有queue的頂端元素,才有機會被外界取用。Queue不提供遍歷功能,也不提供迭代器。

queue建構函式

queue queT;//queue採用模板類實現,queue物件的預設構造形式:

queue(const queue &que);//複製建構函式

queue存取、插入和刪除操作

push(elem);//往隊尾新增元素

pop();//從隊頭移除第一個元素

back();//返回最後一個元素

front();//返回第一個元素

queue賦值操作

queue&operator=(const queue &que);//過載等號運算子

queue大小操作

empty();//判斷佇列是否為空 size();//返回佇列的大小

相關文章