数据结构链式队列代码,python语言
时间: 2024-10-20 07:01:15 浏览: 25
数据结构中线性表,队列和栈
链式队列是一种基于链表实现的数据结构,它遵循先进先出(FIFO,First In First Out)的原则。在Python中,我们可以使用内置的`list`作为内部数据结构,但是为了更贴近链表的概念,我们可以自定义一个简单的单向链表节点类以及队列类来管理元素的入队和出队操作。
首先,我们定义一个`Node`类表示链表中的一个节点:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
```
然后创建一个`Queue`类,包含头节点、入队`enqueue`和出队`dequeue`方法:
```python
class Queue:
def __init__(self):
self.head = None
def is_empty(self):
return self.head is None
def enqueue(self, data):
new_node = Node(data)
if not self.is_empty():
current = self.head
while current.next:
current = current.next
current.next = new_node
else:
self.head = new_node
def dequeue(self):
if self.is_empty():
raise Exception("Queue is empty")
removed_data = self.head.data
self.head = self.head.next
return removed_data
```
现在你可以用这个`Queue`类来创建并操作一个链式队列了:
```python
# 创建队列
q = Queue()
# 入队
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
# 出队
print(q.dequeue()) # 输出:1
print(q.dequeue())
阅读全文