创建一个链队列并实现其基本功能
时间: 2023-06-23 17:10:07 浏览: 36
链队列是一种基于链表实现的队列,其特点是插入和删除元素的时间复杂度为O(1)。
下面是链队列的基本功能实现:
```python
# 定义链表节点类
class Node:
def __init__(self, data):
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 self.tail is None: # 队列为空
self.head = new_node
self.tail = new_node
else:
self.tail.next = new_node
self.tail = new_node
# 出队操作
def dequeue(self):
if self.head is None: # 队列为空
return None
else:
data = self.head.data
self.head = self.head.next
if self.head is None: # 队列中只有一个节点
self.tail = None
return data
# 判断队列是否为空
def is_empty(self):
return self.head is None
# 获取队列长度
def size(self):
count = 0
current = self.head
while current is not None:
count += 1
current = current.next
return count
# 获取队头元素
def peek(self):
if self.head is None:
return None
else:
return self.head.data
```
使用示例:
```python
queue = Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
print(queue.dequeue()) # 输出1
print(queue.dequeue()) # 输出2
print(queue.size()) # 输出1
print(queue.peek()) # 输出3
print(queue.is_empty()) # 输出False
```