首页 > 试题广场 >

猫狗队列

[编程题]猫狗队列
  • 热度指数:3541 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
实现一种猫狗队列的结构,要求如下:
1. 用户可以调用 add 方法将 cat 或者 dog 放入队列中
2. 用户可以调用 pollAll 方法将队列中的 cat 和 dog 按照进队列的先后顺序依次弹出
3. 用户可以调用 pollDog 方法将队列中的 dog 按照进队列的先后顺序依次弹出
4. 用户可以调用 pollCat 方法将队列中的 cat 按照进队列的先后顺序依次弹出
5. 用户可以调用 isEmpty 方法检查队列中是否还有 dog 或 cat
6. 用户可以调用 isDogEmpty 方法检查队列中是否还有 dog
7. 用户可以调用 isCatEmpty 方法检查队列中是否还有 cat

输入描述:
第一行输入一个整数 n 表示 用户的操作总次数。

以下 n行 每行表示用户的一次操作

每行的第一个参数为一个字符串 s,若 s = “add”, 则后面接着有 “cat x”(表示猫)或者“dog x”(表示狗),其中的 x 表示猫狗的编号。


输出描述:
对于每个操作:

若为 “add”,则不需要输出。

以下仅列举几个代表操作,其它类似的操作输出同理。

若为 “pollAll”,则将队列中的 cat 和 dog 按照进队列的先后顺序依次弹出。(FIFO),格式见样例。

若为 "isEmpty",则检查队列中是否还有 dog 或 cat, 为空则输出 “yes”, 否则输出 “no”。
示例1

输入

11
add cat 1
add dog 2
pollAll
isEmpty
add cat 5
isDogEmpty
pollCat
add dog 10
add cat 199
pollDog
pollAll

输出

cat 1
dog 2
yes
yes
cat 5
dog 10
cat 199

备注:

保证每个猫和狗的编号x都不相同且
保证没有不合法的操作
头像 简笔话_Golden
发表于 2020-03-26 23:24:08
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; /** 展开全文
头像 Huster水仙
发表于 2023-01-10 22:59:59
/*按照题目要求分别写了各个独立的调用函数 但是显得有点多此一举 string用于输入 使用猫、狗queue,结构体包含编号以及次序 */ #include<iostream> #include<cstdio> #include<queue&g 展开全文
头像 LiQiang03
发表于 2022-03-28 13:03:24
1. 如何解决不能修改封装的类 在实际的情况中,对于封装好的类往往不能修改其中的代码,如何对其增加属性呢? 即对其进行再封装 在本题中,有两个类,他们有共同的父类,为了对两个类一起封装,采用了封装其共同父类的方法 class Pet { private String type; 展开全文

问题信息

上传者:小小
难度:
24条回答 7298浏览

热门推荐

通过挑战的用户

查看代码
猫狗队列