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

② 隊列容器允許一段新增元素,從另一端移除元素。
③ 隊列中只有對頭和隊尾才可以被外界使用,因此隊列不允許有遍歷行為。
④ 隊列中進數(shù)據(jù)稱為入隊。
⑤ 隊列中出數(shù)據(jù)稱為出隊。
1.2 常用接口
① 功能描述:棧容器常用的對外接口。
② 構造函數(shù):
queue que; //queue采用模板類實現(xiàn),queue對象的默認構造形式 queue(const queue &que); //拷貝構造函數(shù)
③ 賦值操作:
queue& operator=(const queue &que); //重載等號操作符
④ 數(shù)據(jù)存儲:
push(elem); //往隊尾添加元素 pop(); //從對頭移除第一個元素 back(); //返回最后一個元素 front(); //返回第一個元素
⑤ 大小操作:
empty(); //判斷堆棧是否為空
size(); //返回棧的大小
#include<iostream>
using namespace std;
#include <queue>
#include<string>
//隊列 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)建隊列
queue<Person>q;
//準備數(shù)據(jù)
Person p1("唐僧", 30);
Person p2("孫悟空", 1000);
Person p3("豬八戒", 900);
Person p4("沙僧", 800);
//入隊
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
cout << "隊列大小為:" << q.size() << endl;
//判斷只要隊列不為空,查看對頭,查看隊尾,出對
while (!q.empty())
{
//查看對頭
cout << "對頭元素 -- 姓名:" << q.front().m_Name << " 年齡:" << q.front().m_Age << endl;
//查看隊尾
cout << "隊尾元素 -- 姓名:" << q.back().m_Name << " 年齡:" << q.back().m_Age << endl;
//出對
q.pop(); //出隊是出對頭元素
}
cout << "隊列大小為:" << q.size() << endl;
}
int main()
{
test01();
system("pause");
return 0;
}
運行結果:
隊列大小為:4
對頭元素 -- 姓名:唐僧 年齡:30
隊尾元素 -- 姓名:沙僧 年齡:800
對頭元素 -- 姓名:孫悟空 年齡:1000
隊尾元素 -- 姓名:沙僧 年齡:800
對頭元素 -- 姓名:豬八戒 年齡:900
隊尾元素 -- 姓名:沙僧 年齡:800
對頭元素 -- 姓名:沙僧 年齡:800
隊尾元素 -- 姓名:沙僧 年齡:800
隊列大小為:0
請按任意鍵繼續(xù). . .
到此這篇關于C++中queue容器的具體使用的文章就介紹到這了,更多相關C++ queue容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
iostream與iostream.h的區(qū)別詳細解析
以下是對C++中iostream與iostream.h的區(qū)別進行了詳細的分析介紹,需要的朋友可以過來參考下2013-09-09
C語言實現(xiàn)Linux下的socket文件傳輸實例
這篇文章主要介紹了C語言實現(xiàn)Linux下的socket文件傳輸?shù)姆椒?較為詳細的分析了C語言文件Socket文件傳輸客戶端與服務器端相關實現(xiàn)技巧,需要的朋友可以參考下2015-06-06

