C STl佇列 棧應用

2021-07-10 06:00:55 字數 1120 閱讀 5578

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 也是一種運算受限的線性表,它的運算...