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 ...