队列是如何使用链表和数组的?python代码
时间: 2023-11-18 19:05:23 浏览: 29
队列可以使用链表和数组来实现,它们的实现方式略有不同。
使用链表实现队列的代码实例(Python):
```python
class Node:
def __init__(self, value=None):
self.value = value
self.next = None
class Queue:
def __init__(self):
self.head = None
self.tail = None
def is_empty(self):
return not bool(self.head)
def enqueue(self, value):
node = Node(value)
if not self.head:
self.head = node
self.tail = node
else:
self.tail.next = node
self.tail = node
def dequeue(self):
if self.is_empty():
return None
node = self.head
self.head = self.head.next
if not self.head:
self.tail = None
return node.value
```
使用数组实现队列的代码实例(Python):
```python
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return not bool(self.items)
def enqueue(self, value):
self.items.append(value)
def dequeue(self):
if self.is_empty():
return None
return self.items.pop(0)
```
使用链表实现队列时,入队操作是在链表尾部添加一个节点,出队操作是从链表头部删除一个节点。使用数组实现队列时,入队操作是在数组尾部添加一个元素,出队操作是从数组头部删除一个元素。