请设计一个程序模拟队列,具备入队、出队、置队列为空、输出队列数据的功能。 (队列容量为10,即最多有10个元素在一个队中。)
时间: 2024-05-12 12:15:49 浏览: 72
好的,以下是一个基于Python语言的队列模拟程序:
```python
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
if len(self.items) < 10:
self.items.append(item)
else:
print("队列已满,无法入队")
def dequeue(self):
if not self.is_empty():
return self.items.pop(0)
else:
print("队列已空,无法出队")
def clear(self):
self.items = []
def print_queue(self):
print(self.items)
```
上述代码中,我们定义了一个Queue类,其中包含了以下几个方法:
- `__init__()`:初始化队列,创建一个空的列表。
- `is_empty()`:判断队列是否为空,如果队列为空则返回True,否则返回False。
- `enqueue(item)`:入队操作,将指定元素添加到队列末尾。
- `dequeue()`:出队操作,将队列头部的元素移除并返回该元素。
- `clear()`:清空队列,将队列中的所有元素移除。
- `print_queue()`:打印队列中的所有元素。
我们可以通过以下代码测试上述队列模拟程序:
```python
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
q.print_queue() # 输出 [1, 2, 3]
q.dequeue()
q.print_queue() # 输出 [2, 3]
q.clear()
q.print_queue() # 输出 []
q.enqueue(4)
q.enqueue(5)
q.enqueue(6)
q.enqueue(7)
q.enqueue(8)
q.enqueue(9)
q.enqueue(10)
q.enqueue(11) # 输出 队列已满,无法入队
q.print_queue() # 输出 [4, 5, 6, 7, 8, 9, 10]
q.dequeue()
q.dequeue()
q.print_queue() # 输出 [6, 7, 8, 9, 10]
```
以上代码中,我们首先创建了一个Queue对象,然后依次进行了入队、出队、清空队列、打印队列等操作。其中,在添加第11个元素时,由于队列已满,因此无法入队并输出一条提示信息。最后,在出队两个元素后,队列中剩余的元素为[6, 7, 8, 9, 10]。
阅读全文