C++中queue容器的具體使用
一、queue容器
1.1 簡介
① 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)文章
vscode和cmake編譯多個(gè)C++文件的實(shí)現(xiàn)方法
這篇文章主要介紹了vscode和cmake編譯多個(gè)C++文件的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
C++實(shí)現(xiàn)將圖片轉(zhuǎn)換為馬賽克效果的示例代碼
這篇文章主要為大家詳細(xì)介紹了C++如何實(shí)現(xiàn)將圖片轉(zhuǎn)換為馬賽克效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2023-01-01
淺談C++類型轉(zhuǎn)化(運(yùn)算符重載函數(shù))和基本運(yùn)算符重載(自增自減)
下面小編就為大家?guī)硪黄獪\談C++類型轉(zhuǎn)化(運(yùn)算符重載函數(shù))和基本運(yùn)算符重載(自增自減)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06

