C++中queue容器的具體使用
一、queue容器
1.1 簡(jiǎn)介
① queue是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),它有兩個(gè)出口。

② 隊(duì)列容器允許一段新增元素,從另一端移除元素。
③ 隊(duì)列中只有對(duì)頭和隊(duì)尾才可以被外界使用,因此隊(duì)列不允許有遍歷行為。
④ 隊(duì)列中進(jìn)數(shù)據(jù)稱為入隊(duì)。
⑤ 隊(duì)列中出數(shù)據(jù)稱為出隊(duì)。
1.2 常用接口
① 功能描述:棧容器常用的對(duì)外接口。
② 構(gòu)造函數(shù):
queue que; //queue采用模板類實(shí)現(xiàn),queue對(duì)象的默認(rèn)構(gòu)造形式 queue(const queue &que); //拷貝構(gòu)造函數(shù)
③ 賦值操作:
queue& operator=(const queue &que); //重載等號(hào)操作符
④ 數(shù)據(jù)存儲(chǔ):
push(elem); //往隊(duì)尾添加元素 pop(); //從對(duì)頭移除第一個(gè)元素 back(); //返回最后一個(gè)元素 front(); //返回第一個(gè)元素
⑤ 大小操作:
empty(); //判斷堆棧是否為空
size(); //返回棧的大小
#include<iostream>
using namespace std;
#include <queue>
#include<string>
//隊(duì)列 Queue
class Person
{
public:
Person(string name, int age)
{
this->m_Name = name;
this->m_Age = age;
}
string m_Name;
int m_Age;
};
void test01()
{
//創(chuàng)建隊(duì)列
queue<Person>q;
//準(zhǔn)備數(shù)據(jù)
Person p1("唐僧", 30);
Person p2("孫悟空", 1000);
Person p3("豬八戒", 900);
Person p4("沙僧", 800);
//入隊(duì)
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
cout << "隊(duì)列大小為:" << q.size() << endl;
//判斷只要隊(duì)列不為空,查看對(duì)頭,查看隊(duì)尾,出對(duì)
while (!q.empty())
{
//查看對(duì)頭
cout << "對(duì)頭元素 -- 姓名:" << q.front().m_Name << " 年齡:" << q.front().m_Age << endl;
//查看隊(duì)尾
cout << "隊(duì)尾元素 -- 姓名:" << q.back().m_Name << " 年齡:" << q.back().m_Age << endl;
//出對(duì)
q.pop(); //出隊(duì)是出對(duì)頭元素
}
cout << "隊(duì)列大小為:" << q.size() << endl;
}
int main()
{
test01();
system("pause");
return 0;
}
運(yùn)行結(jié)果:
隊(duì)列大小為:4
對(duì)頭元素 -- 姓名:唐僧 年齡:30
隊(duì)尾元素 -- 姓名:沙僧 年齡:800
對(duì)頭元素 -- 姓名:孫悟空 年齡:1000
隊(duì)尾元素 -- 姓名:沙僧 年齡:800
對(duì)頭元素 -- 姓名:豬八戒 年齡:900
隊(duì)尾元素 -- 姓名:沙僧 年齡:800
對(duì)頭元素 -- 姓名:沙僧 年齡:800
隊(duì)尾元素 -- 姓名:沙僧 年齡:800
隊(duì)列大小為:0
請(qǐng)按任意鍵繼續(xù). . .
到此這篇關(guān)于C++中queue容器的具體使用的文章就介紹到這了,更多相關(guān)C++ queue容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iostream與iostream.h的區(qū)別詳細(xì)解析
以下是對(duì)C++中iostream與iostream.h的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-09-09
C語言實(shí)現(xiàn)Linux下的socket文件傳輸實(shí)例
這篇文章主要介紹了C語言實(shí)現(xiàn)Linux下的socket文件傳輸?shù)姆椒?較為詳細(xì)的分析了C語言文件Socket文件傳輸客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06
Qt數(shù)據(jù)庫(kù)相關(guān)應(yīng)用開發(fā)總結(jié)
這篇文章主要為大家介紹了在Qt數(shù)據(jù)庫(kù)應(yīng)用開發(fā)中的一些經(jīng)驗(yàn)總結(jié),以及一些組件的使用介紹。文中的示例代碼講解詳細(xì),需要的可以參考一下2022-02-02
C++中函數(shù)的默認(rèn)參數(shù)詳細(xì)解析
在函數(shù)聲明或定義時(shí),直接對(duì)參數(shù)賦值,該參數(shù)就是默認(rèn)參數(shù)。在函數(shù)調(diào)用時(shí),省略部分或全部參數(shù),這時(shí)就會(huì)使用默認(rèn)參數(shù)進(jìn)行代替2013-10-10

