STL容器之stack和queue

2021-07-08 19:56:47 字數 674 閱讀 6873

stl中的stack和queue不是原生的容器類,它們底層都是基於其他模版類封裝而成,初始化的時候可以指明使用何種容器型別,預設使用deque。這篇文章主要介紹下stack和queue的基本操作。

1. stack: 

初始化: stack的的初始化和其他模版類一致,需要指明儲存資料型別。如 stacknumber;

stl的stack中實現了棧中基本操作,主要有

pop(): 彈出棧頂元素。 number.pop();

push(type para): 把元素壓入棧。 number.push(8);

top(): 訪問棧頂元素,但並不彈出。number.top()

empty(): 判斷當前棧是否為空。 number.empty();

size(): 獲取棧中的元素個數。

2. queue

初始化: 同樣需要指定元素型別,容器類可選,預設deque。queuename;

queue中同樣的push、empty和size操作,和stack中的作用一致。其他介面如:

pop(): 彈出佇列中的隊首元素。name.pop()

front(): 訪問隊首元素,但不彈出。name.front()

back(): 訪問隊尾元素,不彈出。 name.back()

以上就是stl中的stack和queue的基本操作。

STL容器之stack棧

棧 statck 這種資料結構在計算機中是相當出名的。棧中的資料是先進後出的 first in last out,filo 棧只有乙個出口,允許新增元素 只能在棧頂上增加 移出元素 只能移出棧頂元素 取得棧頂元素等操作。在stl中,棧是以別的容器作為底部結構,再將介面改變,使之符合棧的特性就可以了。...

STL特殊容器之stack

stack是一種先進後出 filo 的資料結構,它只有乙個出口。stack允許新增元素 移除元素 取得棧頂元素,除了棧頂元素,取不到其他元素,即棧不允許遍歷,也不提供迭代器。deque作為stack的底層容器,可以輕易的形成乙個stack。因此,sgi stl以deque作為預設情況下的stack的...

STL原始碼剖析學習七 stack和queue

stl原始碼剖析學習七 stack和queue stack是一種先進後出的資料結構,只有乙個出口。允許新增 刪除 獲取最頂端的元素,沒有任何辦法可以訪問其他元素,不允許有遍歷行為。預設情況下用deque作為stack的底部結構,將其介面改變,封住一端就可以形成stack 介面 empty size ...