#include <iostream>using namespace std;
//注意head>tail 和 head<tail时入栈出栈的下标+-不同
long long st[600002]={0};
int head=300000,tail=300000;int main()
{int q;cin>>q;for(int i=0;i<q;i++){int cmd;cin>>cmd;if(cmd==1){long long X;cin>>X;if(head>=tail){st[head++]=X;}else{st[head--] = X;}cout<<X<<endl;}else if(cmd==2){if(head>=tail){head--;if(head==tail) cout<<-1<<endl;else cout<<st[head-1]<<endl;}else{head++;if(head==tail) cout<<-1<<endl;else cout<<st[1+head]<<endl;}}else{if(head==tail) cout<<-1<<endl;    else if(head>tail){int tmp = head-1;head = tail-1;tail = tmp;cout<<st[1+head]<<endl;}else{int tmp = head+1;head = tail+1;tail = tmp;cout<<st[head-1]<<endl;}}}return 0;
}

EOJ_1021_可旋栈相关推荐

  1. JS 数据结构之旅 :通过JS实现栈、队列、二叉树、二分搜索树、AVL树、Trie树、并查集树、堆

    JS 数据结构之旅 栈 概念 栈是一个线性结构,在计算机中是一个相当常见的数据结构. 栈的特点是只能在某一端添加或删除数据,遵循先进后出的原则 实现 每种数据结构都可以用很多种方式来实现,其实可以把栈 ...

  2. BST、AVL、BTree、B+Tree、B*Tree、23Tree、234Tree、TTree、RBTree、LLRBTree、AATree、SplayTree、Treap、无旋Treap、scap

    喜欢这篇文章吗?喜欢的话去看博主的置顶博客,即可依据分类找到此文章的原版得到更好的体验, 图片及代码显示的问题,笔者深感抱歉,想要更好的体验去原博文即可. title: tree mathjax: t ...

  3. 数据结构各结构特点(数组、链表、栈、队列、树)

    目录 一.数组 二.链表 三.栈 四.队列 五.树 1.二叉树 2.二叉查找树 3.平衡二叉树(AVL树) 4.红黑树 六.总结: 1.红黑树和平衡二叉树的区别: 2.为什么有了数组和链表还要引入二叉 ...

  4. python视频学习002(2017年老男孩最新全栈python第2期视频教程)---电脑简史

    申明 计算机简史 申明 最近开始系统的学习python,跟着老男孩的python教程一起学习并记录下相关内容,2017年老男孩最新全栈python第2期视频教程 相关视频下载请参考我上一篇博客,上面介 ...

  5. Python 全栈 60 天精通之路

    传统的 Python 教程 我见过很多的 Python 讲解教程和书籍,它们大都这样讲 Python: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 lis ...

  6. 无旋treap 文艺平衡树

    因为需要用到区间修改,所以该用splay(尚未填坑)或者无旋treap(刚刚填上) 最开始的建树用到了建笛卡尔树的方法,把id大于当前点的点不断出栈,又因为这道题的点是按序入栈的,所以当它无法让更多点 ...

  7. 图示讲解AVL平衡二叉树的左旋和右旋

    AVLTree 高度平衡的搜索二叉树 一棵平衡树,或是空树,或是具有以下性质的二叉搜索树:左子树和右子树都是AVL树,且左右子树的高度之差的绝对值不超过1. 该二叉树,根结点的右子树高度为3,左子树高 ...

  8. 9.6-全栈Java笔记:二叉树和红黑二叉树

    二叉树的定义 二叉树是树形结构的一个重要类型. 许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要. ...

  9. hdu 4699 2个栈维护 or 伸展树 (2013多校联合)

    hdu 4699  Editor 题意:对一个数列进行操作,光标位置后面插入一个权值为x的数,删除光标前的那个数,光标左移一位,光标右移一位,求1到k位置的最大的前缀和.. 注意这里的k是在光标之前的 ...

最新文章

  1. EDITOR-CALL语句的使用:修改abap内表的内容(代码摘抄)
  2. systematic literature review how to write it?
  3. typescript获取数据库数据_肿瘤药敏多组学数据库(GDSC)的数据介绍和获取
  4. php柱状图html代码,html5生成柱状图(条形图)效果的实例代码
  5. db2与mysql编目_DB2编目、联邦数据库 - Goopand's OS Space - OSCHINA - 中文开源技术交流社区...
  6. 静态代码块与静态函数的执行顺序
  7. 计算机的新技术未来发展趋势论文,计算机最新技术发展趋势毕业论文
  8. 2021年塔式起重机司机考试报名及塔式起重机司机免费试题
  9. 成功解决wps文档中,有些空白页费劲死活删除不掉的问题
  10. SQL课设之报刊订阅管理
  11. 谁才是商超的救世主?
  12. 1477: 多重继承派生(1)--家具、床、沙发和沙发床
  13. 在线协助设计软件,figma、sketch、xd哪个才是你的优先选择
  14. windows开启休眠
  15. 猪猪的机器学习(十九)卷积神经网络
  16. android抖音自动刷新,Android SwipeRefreshLayout仿抖音app静态刷新
  17. 如何解决桌面IE图标不见了?
  18. 回锅DS-4:回头看的感觉
  19. nCode:DesignLife案例教程十四
  20. 网页宽度自动适应手机屏幕宽度的实现代码(viewport)

热门文章

  1. ConcurrentHashMap的源码分析-tryPresize
  2. 商品评价 - 信息脱敏
  3. request获取中文乱码的问题
  4. MapReduce的编程规范
  5. 数据库-优化-mysql慢查日志分析工具-mysqldumpslow介绍及用法
  6. SpringBoot_入门-springboot-helloworld
  7. (科普帖)电梯突然断电下坠时、一定要这么做
  8. MAX13085E/MAX485 _中文翻译
  9. 如何将一个文件分割成多个小文件
  10. 【客户案例】智能驾驶行业如何上云?