要求实现队列操作,基于顺序操作实现: 编写入队函数 编写出队函数 编写判断队满和队空的函数
时间: 2024-05-03 16:21:57 浏览: 120
以下是基于顺序操作实现的队列操作代码:
```python
class Queue:
def __init__(self, size):
self.size = size
self.data = [None] * size
self.front = 0
self.rear = 0
def is_empty(self):
return self.front == self.rear
def is_full(self):
return (self.rear + 1) % self.size == self.front
def enqueue(self, value):
if not self.is_full():
self.data[self.rear] = value
self.rear = (self.rear + 1) % self.size
else:
print("Queue is full")
def dequeue(self):
if not self.is_empty():
value = self.data[self.front]
self.front = (self.front + 1) % self.size
return value
else:
print("Queue is empty")
```
其中,`__init__`函数初始化队列,`size`为队列的容量,`data`为存储数据的列表,`front`指向队头,`rear`指向队尾。`is_empty`函数用于判断队列是否为空,如果`front`等于`rear`,则为空。`is_full`函数用于判断队列是否已满,如果`(rear + 1) % size`等于`front`,则已满。`enqueue`函数用于入队操作,如果队列未满,则将`value`添加到队尾,并将`rear`指向下一个位置。否则,输出提示信息。`dequeue`函数用于出队操作,如果队列非空,则将队头元素返回,并将`front`指向下一个位置。否则,输出提示信息。
阅读全文