c++ stl stack、queue(堆疊、佇列) 用函式實現了乙個(filo&fifo)的資料結構。
也就是說我們可以用函式直接代替佇列和棧的的操作,省時省力省腦省空間。
c++ 棧stack的成員函式介紹
操作比較和分配堆疊
empty()堆疊為空則返回真
pop()移除棧頂元素
push()在棧頂增加元素
size()返回棧中元素數目
top()返回棧頂元素
c++佇列queue類成員函式如下:
back()
返回最後乙個元素
empty()
如果佇列空則返回真
front()
返回第乙個元素
pop()
刪除第乙個元素
push()
在末尾加入乙個元素
size()
返回佇列中元素的個數
元素類是必須宣告的,如:
queueq1;
queueq2;
stacks1;
stacks2;
應用舉例:鄰接矩陣中的搜尋。
#include#include#include#include#include#include#include#includeusing namespace std;
queueq;
stacks;//宣告
int g[200][200],hash[2000],n;
//非遞迴dfs
void dfs()
} if (top==s.top()) s.pop();//如果棧中沒用壓入新元素(即沒有可擴充套件的節點),就彈出棧頂元素。
}cout<> n ;
memset(g,0,sizeof g);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++) cin >> g[i][j];
dfs();
bfs();
return 0;
}
C STL 棧 佇列 優先佇列
棧 後進先出 last in first out lifo 標頭檔案 stack stack stack int s 棧的基本操作 s.empty 如果棧為空返回true,否則返回false s.size 返回棧中元素的個數 s.pop 刪除棧頂元素但不返回其值 s.top 返回棧頂的元素,但不刪除...
C STL 棧和佇列
結論 後進先出 last in first out 簡稱為lifo線性表。舉個例子 你在洗碗把洗好的碗編號為1 2 n依次摞起來,1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。2.佇列 佇列 queue 也是一種運算受限的線性表,它的運算限制與棧不同,是兩...
C STL 棧和佇列詳解
一.解釋 1.棧 結論 後進先出 last in first out 簡稱為lifo線性表。舉個例子 你在洗碗把洗好的碗編號為1 2 n依次摞起來,1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。2.佇列 佇列 queue 也是一種運算受限的線性表,它的運算...