C++隊列queue用法詳解
queue<int>q1; queue<double>q2; queue<char>q3; //默認為用deque容器實現(xiàn)的queue;
queue<char, list<char>>q1; //用list容器實現(xiàn)的queue queue<int, deque<int>>q2; //用deque容器實現(xiàn)的queue
注意:不能用vector容器初始化queue
因為queue轉換器要求容器支持front()、back()、push_back()及 pop_front(),
說明queue的數(shù)據(jù)從容器后端入棧而從前端出棧。所以可以使用deque和list對queue初始化,
.而vector因其缺少pop_front(),不能用于queue。
二、queue常用函數(shù)1.常用函數(shù)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 已經(jīng)被pop()函數(shù)刪掉了
3:size() 返回隊列中元素個數(shù)
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()已經(jīng)將first刪除了
6:back() 返回隊列中最后一個元素
queue <string> q; q.push("first"); q.push("second"); cout<<q.back()<<endl;
輸出最后一個元素second
原文鏈接:https://blog.csdn.net/KEPROM/article/details/109744379
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。