棧(statck)這種資料結構在計算機中是相當出名的。棧中的資料是
先進後出
的(first in last out, filo)。棧只有乙個出口,允許新增元素(只能在棧頂上增加)、移出元素(只能移
出棧頂元素)、取得棧頂元素等操作。在stl中,棧是以別的容器作為底部結構,再將介面改變,使之符合棧的特性就可以了。
使用標準庫的棧和佇列時,先包含相關的標頭檔案
#include
#include
定義棧如下:
stackstk;
定義佇列如下:
queueq;
棧提供了如下的操作
s.empty() 如果棧為空返回true,否則返回false
s.size() 返回棧中元素的個數
s.pop() 刪除棧頂元素但不返回其值
s.top() 返回棧頂的元素,但不刪除該元素
s.push() 在棧頂壓入新元素
佇列提供了下面的操作
q.empty() 如果隊列為空返回true,否則返回false
q.size() 返回佇列中元素的個數
q.pop() 刪除佇列首元素但不返回其值
q.front() 返回隊首元素的值,但不刪除該元素
q.push() 在隊尾壓入新元素
q.back() 返回佇列尾元素的值,但不刪除該元素
STL 棧與佇列
在大多數情況下可以不需要自己寫相應函式,直接呼叫stl中棧與佇列的相關函式,簡潔方便。以下是stl中棧與佇列的標頭檔案,定義方式以及常用函式 標頭檔案 include 佇列 include 棧定義方式 stacks 棧的定義方式 queueq 佇列的定義方式棧的基本操作 s.empty 如果棧為空返...
STL 棧,佇列,優先佇列
stl 棧 include includeusing namespace std struct node int main stackroot struct node x,y x.value 3 y.value 4 root.push x root.push y while root.empty r...
棧 佇列 優先佇列 STL
棧 include 標頭檔案 stackst 定義 st.push str1 0 入棧 cur st.top 取棧頂值 st.pop 出棧 st empty 空為true 佇列 include queue char que que.push a a que.front que.pop que.emp...