C++标准模板库(STL)中的队列用法介绍

2021年3月11日17:12:46 发表评论 816 次浏览

队列是一种容器适配器, 它以先进先出(FIFO)类型的方式运行。元素插入到后面(末端), 并从前面删除。

队列支持的功能是:

  1. 空()–返回队列是否为空。
  2. 尺寸()–返回队列的大小。
  3. C ++ STL中的queue :: swap():交换两个队列的内容, 但是队列的类型必须相同, 尽管大小可能有所不同。
  4. C ++ STL中的queue :: emplace():将新元素插入队列容器, 新元素将添加到队列末尾。
  5. C ++ STL中的queue :: front()和queue :: back()–面前()函数返回对队列第一个元素的引用。背部()函数返回对队列最后一个元素的引用。
  6. push(g)和pop()–推()函数在队列末尾添加元素" g"。pop()函数删除队列的第一个元素。

CPP

// CPP code to illustrate
// Queue in Standard Template Library (STL)
#include <iostream>
#include <queue>
 
using namespace std;
 
// Print the queue
void showq(queue < int > gq)
{
     queue < int > g = gq;
     while (!g.empty())
     {
         cout << '\t' << g.front();
         g.pop();
     }
     cout << '\n' ;
}
 
// Driver Code
int main()
{
     queue < int > gquiz;
     gquiz.push(10);
     gquiz.push(20);
     gquiz.push(30);
 
     cout << "The queue gquiz is : " ;
     showq(gquiz);
 
     cout << "\ngquiz.size() : " << gquiz.size();
     cout << "\ngquiz.front() : " << gquiz.front();
     cout << "\ngquiz.back() : " << gquiz.back();
 
     cout << "\ngquiz.pop() : " ;
     gquiz.pop();
     showq(gquiz);
 
     // We can also use front and back as
     // iterators to traverse through the queue
     count<< "Using iterators : " ;
     for ( auto i = gquiz.front(); i != gquiz.back(); i++)
     {
       count<< i << " " ;
     }
     return 0;
}

输出如下: 

The queue gquiz is :     10    20    30

gquiz.size() : 3
gquiz.front() : 10
gquiz.back() : 30
gquiz.pop() :     20    30
Using iterators : 20    30

有关C ++队列的最新文章

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。

被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C ++ STL通过激烈的问题解决过程来训练和掌握这些概念。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: