C++中queue容器的具體使用
一、queue容器
1.1 簡介
① queue是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),它有兩個出口。
② 隊列容器允許一段新增元素,從另一端移除元素。
③ 隊列中只有對頭和隊尾才可以被外界使用,因此隊列不允許有遍歷行為。
④ 隊列中進(jìn)數(shù)據(jù)稱為入隊。
⑤ 隊列中出數(shù)據(jù)稱為出隊。
1.2 常用接口
① 功能描述:棧容器常用的對外接口。
② 構(gòu)造函數(shù):
queue que; //queue采用模板類實現(xiàn),queue對象的默認(rèn)構(gòu)造形式 queue(const queue &que); //拷貝構(gòu)造函數(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; //準(zhǔn)備數(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; }
運行結(jié)果:
隊列大小為:4
對頭元素 -- 姓名:唐僧 年齡:30
隊尾元素 -- 姓名:沙僧 年齡:800
對頭元素 -- 姓名:孫悟空 年齡:1000
隊尾元素 -- 姓名:沙僧 年齡:800
對頭元素 -- 姓名:豬八戒 年齡:900
隊尾元素 -- 姓名:沙僧 年齡:800
對頭元素 -- 姓名:沙僧 年齡:800
隊尾元素 -- 姓名:沙僧 年齡:800
隊列大小為:0
請按任意鍵繼續(xù). . .
到此這篇關(guān)于C++中queue容器的具體使用的文章就介紹到這了,更多相關(guān)C++ queue容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iostream與iostream.h的區(qū)別詳細(xì)解析
以下是對C++中iostream與iostream.h的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-09-09C語言實現(xiàn)Linux下的socket文件傳輸實例
這篇文章主要介紹了C語言實現(xiàn)Linux下的socket文件傳輸?shù)姆椒?較為詳細(xì)的分析了C語言文件Socket文件傳輸客戶端與服務(wù)器端相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2015-06-06Qt數(shù)據(jù)庫相關(guān)應(yīng)用開發(fā)總結(jié)
這篇文章主要為大家介紹了在Qt數(shù)據(jù)庫應(yīng)用開發(fā)中的一些經(jīng)驗總結(jié),以及一些組件的使用介紹。文中的示例代碼講解詳細(xì),需要的可以參考一下2022-02-02C++中函數(shù)的默認(rèn)參數(shù)詳細(xì)解析
在函數(shù)聲明或定義時,直接對參數(shù)賦值,該參數(shù)就是默認(rèn)參數(shù)。在函數(shù)調(diào)用時,省略部分或全部參數(shù),這時就會使用默認(rèn)參數(shù)進(jìn)行代替2013-10-10