带尾指针的循环链队列
时间: 2023-11-23 19:51:27 浏览: 44
循环链队列是一种特殊的队列,它的队尾指针指向队头节点。这样可以利用链表的尾部节点来连接链表的头部节点,形成一个循环的结构。下面是带尾指针的循环链队列的实现示例:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class CircularQueue:
def __init__(self):
self.rear = None
def is_empty(self):
return self.rear is None
def enqueue(self, data):
new_node = Node(data)
if self.is_empty():
new_node.next = new_node
self.rear = new_node
else:
new_node.next = self.rear.next
self.rear.next = new_node
self.rear = new_node
def dequeue(self):
if self.is_empty():
raise Exception("Queue is empty")
if self.rear.next == self.rear:
data = self.rear.data
self.rear = None
else:
front = self.rear.next
data = front.data
self.rear.next = front.next
return data
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)