小明今天课上刚学习了队列数据结构,你看这个队列他又长又宽,就像这个碗他又大又圆。

不过小明觉得队列只能从队尾插入,队首弹出太无聊了,于是他就想重新设计以下,以使队列能够翻转。

翻转:队首变为队尾,队尾变为队首。

那么现在队列变成了有以下三个操作的队列:

队尾插入

队首弹出

翻转队列

初始时,这里有一个空队列,我们对他进行以上三个操作。

输入格式

第一行一个正整数q(1<=q<=400000),表示对队列的操作次数,初始时,队列为空。接下来q行,
若是 1 x,则将x插入当前队列(1<=x<=1000000)。
若是 2,则从队列中弹出队首元素(若当前队列为空,则忽略此操作)
若是 3,则翻转当前队列

输出格式

对于每个输入输出一行一个整数,为当前队列队首和队尾的异或值(这里的异或是按位异或,运算符为 ‘^’)。若当前队列为空,则输出-1

输入样例1

5
1 2
1 3
3
2
2

输出样例1

0
1
1
0
-1

输入样例2

4
1 2
3
1 3
3

输出样例2:

0
0
1
1

思路:双端队列容器 设置标志来控制反转操作 双端队列deque容器详解
:第一遍一直用的cin>>输入一直超时 后来换成了printf scanf 才完事儿hhh

#include <iostream>
#include <deque>
#include <algorithm>
#include <cstdio>
using namespace std;
deque<int> que;
bool flag = true;
int main()
{int n;scanf("%d",&n);while(n--){int i;scanf("%d",&i);switch(i){case 1:int x;scanf("%d",&x);if(flag) que.push_back(x);else que.push_front(x);break;case 2:if(!que.empty()){if(flag) que.pop_front();else que.pop_back();}else break;break; //不要因为上边的break就丢掉下边的case 3:flag = !flag;break;default:break;}if(!que.empty()) printf("%d\n",que.front()^que.back());else printf("-1\n");}return 0;
}

7-7-1 队列 queue 无聊的队列相关推荐

  1. 7-7-1 队列 queue 无聊的队列 (300 分)

    小明今天课上刚学习了队列数据结构,你看这个队列他又长又宽,就像这个碗他又大又圆. 不过小明觉得队列只能从队尾插入,队首弹出太无聊了,于是他就想重新设计以下,以使队列能够翻转. 翻转:队首变为队尾,队尾 ...

  2. 35 线程优先级队列(queue)

    Python的queue模块中提供了同步的.线程安全的队列类,包括先进先出队列Queue.后进先出队列LifoQueue和优先级队列PriorityQueue.这些队列都是先了锁原语,可以直接使用来实 ...

  3. python 归纳 (十二)_并发队列Queue的使用

    # -*- coding: UTF-8 -*- """ 学习队列 Queue总结:1. 队列可以设置大小,也可以无限大小2. 空了,满了,读写时可以阻塞,也可以报错3. ...

  4. Python 线程队列 Queue – FIFO - Python零基础入门教程

    目录 一.Python 线程队列分类 二.Python 线程先进先出队列 Queue 简介 三.Python 线程先进先出队列 Queue 常用函数 四.Python 线程先进先出队列 Queue 使 ...

  5. 数据结构之队列queue

    C++数据结构之队列queue 什么是队列 队列的基本特征 队列是如何工作的 队列的实现 队列的应用 什么是队列 与栈相反,队列是一种先进先出(FIFO)的线性表,只允许在表的一端插入,在另一端删除. ...

  6. 数据结构与算法笔记(五)——队列(FIFO队列、双端队列)

    一.FIFO队列 1.1.概念 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表. 队列是一种先进先出的(First In First Out)的线性表,简称FIFO.允许 ...

  7. java lifo 队列_1.8 Java 队列 Queue、双端队列 Deque - Java 知识总结与学习

    queue 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作.该接口扩展了java.util.Collection接口.除了基本的 Collection 操作外,队列还 ...

  8. python队列线程池_实例详解:python高级编程之消息队列(Queue)与进程池(Pool)

    今天为大家带来的内容是:python高级编程之消息队列(Queue)与进程池(Pool),结合了实例的形式详细分析了Python消息队列与进程池的相关原理.使用技巧与操作注意事项!!! Queue消息 ...

  9. PYTHON——多线程:队列Queue数据结构

    1.队列模块简介 队列是一种数据结构,用于存放数据,类似列表.它是先进先出模式(FIFO模式),类似管道一般: 单线程不需要用到队列Queue,它主要用在多线程之间的,Queue称为多线程利器. 列表 ...

最新文章

  1. 腾讯优图开源首个医疗AI ML预训练模型
  2. 3.1.5 动态分区分配算法
  3. Windows上安装Mysql解压缩版教程
  4. 【小题目】输入一个数字表示重量,如果重量<=20,则每千克收费0.35元;如果超过20千克不超过100千克的范围,则超过的部分按照每千克0.5元收费;如果超过100千克,则超过的范围按照每千克0.8元
  5. cocoa pods Installation
  6. 如何查找SAP Fiori UI上某个字段对应的底层数据库表
  7. iphone 抹除设备是什么意思_SMT设备有哪些,SMT是什么意思?
  8. 我的Java自学之路,java高级面试笔试题
  9. Python中的numpy.append()
  10. JNI/NDK入门指南之JNI数据类型,描述符详解
  11. HTML5_用语义化标记重新定义博客
  12. UESTC 1639 云中谁寄锦书来?雁字回时,月满西楼。 Dijkstra拓展
  13. arcgis把jpg转成栅格图像_[转载]在ArcGIS中配准(TIF、JPEG)栅格图像并矢量化(转)...
  14. 魔兽争霸3的MapHack制作教程(一)显示敌对单位
  15. Qt: 判断字符串是否为数字,是否为整数
  16. 将字符串写入文件的五种方法
  17. 这个MT4指标代码哪里出问题了?
  18. QGIS|如何制作行政区划四色图
  19. 国产超低功耗华大MCU资料汇总
  20. YOLOv3论文翻译讲解

热门文章

  1. 秒懂区块链去中心逻辑
  2. 75. 让面部表情跟着鼠标光标变化
  3. 博计报表数据源找不到的一个原因
  4. 代码随想录再战day4
  5. 数据训练营|BAT都在用的方法,详解A/B测试的那些坑!
  6. 阿里达摩院python教程真的吗_阿里达摩院出品的459集的python教程,据说懂中文就能入门高清版...
  7. 一个简单的波形包络提取算法
  8. iscsitarget
  9. 全景图如何拍摄制作?在室内场景应用有什么优势?
  10. RHCE(firewalld——查看及使用)