C++ STL标准库 《queue单向队列原理与实战分析》

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: C++ STL标准库 《queue单向队列原理与实战分析》

一、queue单向队列原理

  queue 模板类的定义在<queue>头文件中。与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。

 

定义queue 对象的示例代码:

queue<int> q1;
queue<double> q2;

queue 的基本操作有:

q.push(x)               //  入队,将x 接到队列的末端。
q.pop()                  //  出队,弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
q.front()                //  访问队首元素,即最早被压入队列的元素。
q.back()                //  访问队尾元素,即最后被压入队列的元素。
q.empty()              //  判断队列空,当队列空时,返回true。
q.size()               //  访问队列中的元素个数

一、queue单向队列实战分析

#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 << "Is OK-01.\n";
    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 << "Is OK-02.\n";
    system("PAUSE");

    return 0;
}

运行结果如下:

image.png

相关文章
|
8天前
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
【11月更文挑战第6天】在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。
|
15天前
|
缓存 安全 C++
C++无锁队列:解锁多线程编程新境界
【10月更文挑战第27天】
30 7
|
15天前
|
消息中间件 存储 安全
|
20天前
|
自然语言处理 编译器 Linux
告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐
本文中,阿里云智能集团开发工程师李泽政以 Alinux 为操作环境,讲解模块相比传统头文件有哪些优势,并通过若干个例子,学习如何组织一个 C++ 模块工程并使用模块封装第三方库或是改造现有的项目。
|
30天前
|
安全 程序员 编译器
【实战经验】17个C++编程常见错误及其解决方案
想必不少程序员都有类似的经历:辛苦敲完项目代码,内心满是对作品品质的自信,然而当静态扫描工具登场时,却揭示出诸多隐藏的警告问题。为了让自己的编程之路更加顺畅,也为了持续精进技艺,我想借此机会汇总分享那些常被我们无意间忽视却又导致警告的编程小细节,以此作为对未来的自我警示和提升。
85 5
|
1月前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
68 5
|
30天前
|
存储 算法 调度
【C++打怪之路Lv11】-- stack、queue和优先级队列
【C++打怪之路Lv11】-- stack、queue和优先级队列
32 1
|
1月前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
52 1
|
1月前
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
【10月更文挑战第8天】在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。
|
1月前
|
设计模式 存储 C++
C++之stack 和 queue(下)
C++之stack 和 queue(下)
33 1