本关任务:实现循环队列的基本操作:初始化、入队、出队、遍历等并使用这些操作。队列中元素是大写或小写字母。输入输出输入格式:两行第一行是一个正整数n表示出队和入队的次数第二行是n次出队和入队操作序列其中1表示入队0表示出队如果是入队则1后跟一个大写或小写字母。输出格式:遍历队列内容从队尾到队首输出所有字母如果队为空则输出Queue Empty!输入输出样例:输入51f1e1d00输出:e
class Queue:
def __init__(self, capacity):
self.capacity = capacity
self.queue = [''] * capacity
self.front = 0
self.rear = 0
self.size = 0
def is_empty(self):
return self.size == 0
def is_full(self):
return self.size == self.capacity
def enqueue(self, item):
if self.is_full():
return False
self.queue[self.rear] = item
self.rear = (self.rear + 1) % self.capacity
self.size += 1
return True
def dequeue(self):
if self.is_empty():
return None
item = self.queue[self.front]
self.front = (self.front + 1) % self.capacity
self.size -= 1
return item
def traverse(self):
if self.is_empty():
return "Queue Empty!"
result = ""
i = self.front
while i != self.rear:
result = self.queue[i] + result
i = (i - 1) % self.capacity
return result
n = int(input())
operations = input()
queue = Queue(n)
for operation in operations:
if operation == '1':
item = input()
queue.enqueue(item)
elif operation == '0':
queue.dequeue()
print(queue.traverse())
``
原文地址: https://www.cveoy.top/t/topic/h2Ib 著作权归作者所有。请勿转载和采集!