C++编程:根据操作序列判定线性结构为栈或队列
类型:程序题

题目描述

本题为C语言等级考试六级真题:stack or queue。 栈和队列都是常用的线性结构,都提供两个操作:

  • Push:加入一个元素
  • Pop:弹出一个元素 二者的核心区别为:栈是先进后出,队列是先进先出。给定一个线性结构的进出操作序列,判定该结构属于栈还是队列。

限制条件

  • 时间限制:1000
  • 内存限制:65535

输入描述

第一行输入一个整数 t,代表测试数据组数。 对于每组测试数据:

  1. 第一行输入一个整数 n,代表操作次数(3 ≤ n ≤ 2000
  2. 后续 n 行,每行输入两个整数 type val
    • type = 1 表示push操作,val 为待入结构的数字
    • type = 2 表示pop操作,val 为出结构的数字

输出描述

每组测试数据输出一行,结果为 "Stack""Queue",题目保证结果必为二者之一。

样例输入

2
6
1 1
1 2
1 3
2 3
2 2
2 1
4
1 1
1 2
2 1
2 2

样例输出

Stack
Queue
代码编辑器 加载中...
测试用例(F10) 运行测试(F11) 提交答案(F12)
测试用例输入
{{resultStatus.text}}