链队列的基本操作代码
时间: 2024-11-25 14:21:28 浏览: 8
C语言实现链队列代码
链队列是一种数据结构,它使用节点(每个节点包含数据和指向下一个节点的指针)来存储元素,并支持两种基本操作:
1. **入队**(Enqueue): 在队尾添加一个新元素。通常,你需要创建一个新的节点,将新元素赋值给节点的数据部分,然后将该节点的指针设置为当前队尾节点(如果存在),并将队尾节点更新为新节点。
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class Queue:
def __init__(self):
self.head = None
self.tail = None
def enqueue(self, data):
new_node = Node(data)
if not self.is_empty():
self.tail.next = new_node
else:
self.head = new_node
self.tail = new_node
def is_empty(self):
return self.head is None
```
2. **出队**(Dequeue): 从队首移除并返回一个元素。这里需要检查队列是否为空,如果不空,就将头节点的值赋给结果,然后将头节点指向下个节点(如果存在),否则删除头节点。
```python
def dequeue(self):
if self.is_empty():
raise Exception("Queue is empty")
result = self.head.data
self.head = self.head.next
if not self.head:
self.tail = None
return result
```
阅读全文