当前位置: 首页 > article >正文

数据结构与算法学习笔记----队列

数据结构与算法学习笔记----队列

@@ author: 明月清了个风

@@ last edited: 2024.11.22

Acwing 828. 模拟队列

实现一个队列,队列初始为空,支持四种操作:

  1. push x向栈顶插入一个数x
  2. pop从队头弹出一个数;
  3. empty判断队列是否为空
  4. query查询队头元素

现在要对该队列进行 M M M次操作,其中的每个操作3和操作4都要输出相应的结果

输入格式

第一行包含整数 M M M,表示操作次数。

接下来 M M M行,每行包含一个操作指令。

输出格式

对于每个queryempty操作都要输出一个查询结果,每个结果占一行。

其中,empty操作的查询结果为YESNOquery操作的查询结果为一个整数,表示队头元素。

数据范围

1 ≤ M ≤ 1 0 5 1 \leq M \leq 10^{5} 1M105,

1 ≤ x ≤ 1 0 9 1 \leq x \leq 10^{9} 1x109

代码

#include <iostream>

using namespace std;

const int N = 100010;

int q[N], hh, tt = -1;

int main()
{
    int n;
    cin >> n;
    
    while(n --)
    {
        string op;
        int x;
        cin >> op;
        if(op == "push")
        {
            cin >> x;
            q[++ tt] = x;
        }
        else if(op == "pop") hh ++;
        else if(op == "empty") cout << (hh <= tt ? "NO" : "YES") <<endl;
        else cout << q[hh] << endl;
    }
    
    return 0;
}

http://www.kler.cn/a/411635.html

相关文章:

  • 计算机网络 实验七 NAT配置实验
  • 自由学习记录(25)
  • android 音效可视化--Visualizer
  • 【深度学习】【RKNN】【C++】模型转化、环境搭建以及模型部署的详细教程
  • 研0找实习【学nlp】14--BERT理解
  • 今天你学C++了吗?——C++中的类与对象(第二集)
  • 大数据面试SQL题-笔记02【查询、连接、聚合函数】
  • 大语言模型---Llama不同系列的权重参数文件提取;Llama-7B权重文件提取;Llama-8B权重文件提取;主要代码功能解析
  • (已解决)wps无法加载此加载项程序mathpage.wll
  • 音视频技术扫盲之预测编码的基本原理探究
  • 基于Matlab扩展卡尔曼滤波的主从导航系统传递对准仿真与优化研究
  • SpringBoot(三十九)SpringBoot集成RabbitMQ实现流量削峰添谷
  • Oracle 深入学习 Part 9: Storage Structure and Relationships(存储结构与关系)
  • 音视频相关的一些基本概念
  • 前后端分离,后端拦截器无法获得前端请求的token
  • 快速理解微服务中Ribbon的概念
  • 01.Django快速入门
  • Redis核心类型----有序集合
  • 案例分析:嵌入式边缘计算机ARMxy在工商储能柜新能源应用
  • 租赁小程序|租赁系统搭建|租赁系统需求
  • React-useState的使用
  • redmi 12c 刷机
  • 【Linux】vim的使用
  • cuda conda yolov11 环境搭建
  • SSM框架整合
  • C#中面试的常见问题003