C++中的stack容器和queue容器操作代碼
stack容器
stack基本概念
stack是一種先進(jìn)后出(First In LastOut,FILO)的數(shù)據(jù)結(jié)構(gòu),它只有一個(gè)出口
棧中只有頂端的元素才可以被外界使用,因此棧不允許有遍歷行為
可以類比彈匣,羽毛球筒等,先進(jìn)后出,因?yàn)橄确胚M(jìn)去會(huì)壓在最下面,它想出來(lái)就需要上面的出來(lái)才行。
stack構(gòu)造函數(shù)
- stack stk;//stack采用模板類實(shí)現(xiàn),stack對(duì)象的默認(rèn)構(gòu)造形式
- stack(const stack &stk);//拷貝構(gòu)造函數(shù)
賦值操作
- stack& operator=(const stack &stk);//重載等號(hào)操作符
數(shù)據(jù)存取
- push(elem);//向棧頂添加元素
- pop();//從棧頂移除第一個(gè)元素
- top();//返回棧頂元素
大小操作
- empty();//判斷堆棧是否為空
- size();//返回棧的大小
#include<iostream>
using namespace std;
#include<stack>
void test()
{
stack<int> stk;
stk.push(10);
stk.push(20);
stk.push(30);
stk.push(40);
cout << "棧的大?。? << stk.size() << endl;
//只要棧不為空,查看棧頂,并執(zhí)行出棧操作
while (!stk.empty())
{
cout << stk.top() << " ";
stk.pop();
}
cout << endl;
cout << "棧的大?。? << stk.size() << endl;
}
int main()
{
test();
}棧的結(jié)構(gòu)還是非常簡(jiǎn)單的,只需要記住它是先進(jìn)后出的結(jié)構(gòu)即可。
queue容器
queue基本概念
Queue是一種先進(jìn)先出(First In First Out,FIFO)的數(shù)據(jù)結(jié)構(gòu),它有兩個(gè)出口。
可以類比生活中的排隊(duì)場(chǎng)景,排在前面的人先辦理好業(yè)務(wù)離開(kāi)。先進(jìn)先出規(guī)則。
queue構(gòu)造函數(shù)
- queue que;//queue采用模板類實(shí)現(xiàn),queue對(duì)象的默認(rèn)構(gòu)造形式
- queue(const queue &que);//拷貝構(gòu)造函數(shù)
queue賦值操作
- queue& operator=(const queue &que);//重載等號(hào)操作符
queue數(shù)據(jù)存取
- push(elem);//往隊(duì)尾添加元素
- pop();//從隊(duì)頭移除第一個(gè)元素
- bacK();//返回最后一個(gè)元素
- front();數(shù)據(jù)存取//返回第一個(gè)元素
queue大小操作
- empty();//判斷堆棧是否為空
- size();//返回棧的大小
#include<iostream>
using namespace std;
#include<queue>
void test()
{
queue<int>q;
q.push(10);
q.push(20);
q.push(30);
q.push(40);
cout << "q的大小" << q.size() << endl;
while (!q.empty())
{
cout << "隊(duì)頭:" << q.front() << " ";
cout << "隊(duì)尾:" << q.back() << " ";
cout << endl;
q.pop();
}
cout << "q的大小" << q.size() << endl;
}
int main()
{
test();
}到此這篇關(guān)于C++中的stack容器和queue容器的文章就介紹到這了,更多相關(guān)c++ stack和queue容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解約瑟夫環(huán)的數(shù)學(xué)優(yōu)化方法
本篇文章是對(duì)約瑟夫環(huán)的數(shù)學(xué)優(yōu)化方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
QTableWidget設(shè)置只讓某一列可編輯的實(shí)現(xiàn)
本文介紹了如何將QTableWidget的某一列設(shè)置為可編輯,以便用戶可以輸入自定義數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
C語(yǔ)言中sizeof()與strlen()函數(shù)的使用入門及對(duì)比
這篇文章主要介紹了C語(yǔ)言中sizeof()與strlen()函數(shù)的使用入門及對(duì)比,同時(shí)二者在C++中的使用情況也基本上同理,是需要的朋友可以參考下2015-12-12
Linux UDP服務(wù)端和客戶端程序的實(shí)現(xiàn)
這篇文章主要介紹了Linux UDP服務(wù)端和客戶端程序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
C語(yǔ)言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例
大家好,本篇文章主要講的是C語(yǔ)言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02
VS2022新建項(xiàng)目時(shí)沒(méi)有ASP.NET Web應(yīng)用程序(.NET Framework)
本文主要介紹了VS2022新建項(xiàng)目時(shí)沒(méi)有ASP.NET Web應(yīng)用程序的解決,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10
C++ BloomFilter布隆過(guò)濾器應(yīng)用及概念詳解
布隆過(guò)濾器是由布?。˙urton Howard Bloom)在1970年提出的 一種緊湊型的、比較巧妙的概率型數(shù)據(jù)結(jié)構(gòu),特點(diǎn)是高效地插入和查詢,可以用來(lái)告訴你 “某樣?xùn)|西一定不存在或者可能存在”,它是用多個(gè)哈希函數(shù),將一個(gè)數(shù)據(jù)映射到位圖結(jié)構(gòu)中2023-03-03
C語(yǔ)言采用文本方式和二進(jìn)制方式打開(kāi)文件的區(qū)別分析
這篇文章主要介紹了C語(yǔ)言采用文本方式和二進(jìn)制方式打開(kāi)文件的區(qū)別分析,有助于讀者更好的理解文本文件與二進(jìn)制文件的原理,需要的朋友可以參考下2014-07-07

