1. 循环队列的基本操作的实现(初始化、入队、出队、求队列长度、取队头元素、判断队空、队列的遍历、清空队列、销毁队列等),要求建立菜单进行操作选择
时间: 2024-12-18 09:32:48 浏览: 0
循环队列是一种特殊的线性表,用于解决数据进出两端不固定的问题。它通过将队尾指针和队首指针相连形成一个闭环来避免数组越界的问题。以下是循环队列的一些基本操作及其在Python中简单的实现:
1. 初始化:
```python
class CircularQueue:
def __init__(self, capacity):
self.queue = [None] * capacity
self.front = -1
self.rear = -1
# 判断队列是否为空
def is_empty(self):
return self.front == -1 and self.rear == -1
```
2. 入队(enqueue):
```python
def enqueue(self, item):
if self.is_full():
print("Queue is full.")
return
if self.is_empty():
self.front = 0
else:
self.rear = (self.rear + 1) % len(self.queue)
self.queue[self.rear] = item
self.rear += 1
```
3. 出队(dequeue):
```python
def dequeue(self):
if self.is_empty():
print("Queue is empty.")
return None
if self.front == self.rear:
front_new = 0 if self.front == 0 else (self.front - 1)
self.queue[front_new] = None
self.front = self.rear = front_new
else:
self.front = (self.front + 1) % len(self.queue)
return self.queue[self.front]
```
4. 求队列长度(size):
```python
def size(self):
if self.is_empty():
return 0
else:
return abs(self.rear - self.front)
```
5. 取队头元素(peek):
```python
def peek(self):
if self.is_empty():
print("Queue is empty.")
return None
return self.queue[self.front]
```
6. 判断队空、队满、队列遍历、清空队列、销毁队列类似的操作可以在此基础上进行。
阅读全文