<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
queue是一種容器轉換器模板,呼叫#include< queue>即可使用佇列類。
queue<Type, Container> (<資料型別,容器型別>)
初始化時必須要有資料型別,容器可省略,省略時則預設為deque 型別
初始化範例
1:
queue<int>q1; queue<double>q2; queue<char>q3; //預設為用deque容器實現的queue;
2:
queue<char, list<char>>q1; //用list容器實現的queue queue<int, deque<int>>q2; //用deque容器實現的queue
注意:不能用vector容器初始化queue
因為queue轉換器要求容器支援front()、back()、push_back()及 pop_front(),說明queue的資料從容器後端入棧而從前端出棧。所以可以使用deque和list對queue初始化,而vector因其缺少pop_front(),不能用於queue。
1.常用函數
2.函數運用範例
1:push()在隊尾插入一個元素
queue <string> q; q.push("first"); q.push("second"); cout<<q.front()<<endl;
輸出 first
2:pop() 將佇列中最靠前位置的元素刪除,沒有返回值
queue <string> q; q.push("first"); q.push("second"); q.pop(); cout<<q.front()<<endl;
輸出 second 因為 first 已經被pop()函數刪掉了
3:size() 返回佇列中元素個數
queue <string> q; q.push("first"); q.push("second"); cout<<q.size()<<endl;
輸出2,因為佇列中有兩個元素
4:empty() 如果佇列空則返回true
queue <string> q; cout<<q.empty()<<endl; q.push("first"); q.push("second"); cout<<q.empty()<<endl;
分別輸出1和0
最開始佇列為空,返回值為1(ture);
插入兩個元素後,佇列不為空,返回值為0(false);
5:front() 返回佇列中的第一個元素
queue <string> q; q.push("first"); q.push("second"); cout<<q.front()<<endl; q.pop(); cout<<q.front()<<endl;
第一行輸出first;
第二行輸出second,因為pop()已經將first刪除了
6:back() 返回佇列中最後一個元素
queue <string> q; q.push("first"); q.push("second"); cout<<q.back()<<endl;
輸出最後一個元素second
queue入隊,如例:q.push(x); 將x 接到佇列的末端。
queue出隊,如例:q.pop(); 彈出佇列的第一個元素,注意,並不會返回被彈出元素的值。
存取queue隊首元素,如例:q.front(),即最早被壓入佇列的元素。
存取queue隊尾元素,如例:q.back(),即最後被壓入佇列的元素。
判斷queue佇列空,如例:q.empty(),當佇列空時,返回true。
存取佇列中的元素個數,如例:q.size()
#include <cstdlib> #include <iostream> #include <queue> using namespace std; int main() { int e,n,m; queue<int> q1; for(int i=0;i<10;i++) q1.push(i); if(!q1.empty()) cout<<"dui lie bu kongn"; n=q1.size(); cout<<n<<endl; m=q1.back(); cout<<m<<endl; for(int j=0;j<n;j++) { e=q1.front(); cout<<e<<" "; q1.pop(); } cout<<endl; if(q1.empty()) cout<<"dui lie bu kongn"; system("PAUSE"); return 0; }
執行結果:
dui lie bu kong
10
9
0 1 2 3 4 5 6 7 8 9
dui lie bu kong
請按任意鍵繼續. . .
到此這篇關於C++中佇列queue用法的文章就介紹到這了,更多相關C++佇列queue用法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45