算法学习day16----Python数据结构--模拟队列
久违的更新,主包也是终于回到家里了
输入样例
10
push 6
empty
query
pop
empty
push 3
push 4
pop
query
push 6
输出样例
NO
6
YES
4
解决代码(今天没写笔记了,题目比较简单,可以仿写之前写过的模拟栈)
class Queue:def __init__(self):self.queue = []def push(self, x):self.queue.append(x)def pop(self):if not self.queue:return "queue is empty"return self.queue.pop(0) #头部弹出def query(self):if not self.queue:return "queue is empty"return self.queue[0]def is_empty(self):return "YES" if not self.queue else "NO"def main():import sysinput = sys.stdin.readline m = int(input().strip()) queue = Queue()output = []for _ in range(m): parts = input().split() if not parts:continue # 跳过空行op = parts[0]if op == 'push':if len(parts) < 2:output.append("error: missing value")continuetry:x = int(parts[1])queue.push(x)except ValueError:output.append("error: invalid number")elif op == 'pop':res = queue.pop()if res == "queue is empty":output.append(res)# pop 成功,不输出elif op == 'query':res = queue.query()output.append(str(res))elif op == 'empty':output.append(queue.is_empty())print('\n'.join(output)) # 统一输出结果if __name__ == "__main__":main()
算是一个回顾题吧