头歌循环队列及链队列的基本操作博客里的具体代码
时间: 2024-09-29 09:06:30 浏览: 78
头歌的博客中提到了如何实现链队列的基本操作。这里是一个简单的示例,展示了如何创建链队列并执行一些基础操作:
1. **定义链队列节点**
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
```
2. **初始化空链队列**
```python
class Queue:
def __init__(self):
self.head = None
self.tail = None
self.size = 0
```
3. **判断队列是否为空**
```python
def is_empty(self):
return self.head is None
```
4. **判断队列是否为满(假设固定大小的队列)**
```python
def is_full(self, capacity):
return self.size == capacity
```
5. **添加元素(入队操作)**
```python
def enqueue(self, item):
if not self.is_full(capacity):
new_node = Node(item)
if self.is_empty():
self.head = new_node
self.tail = new_node
else:
self.tail.next = new_node
self.tail = new_node
self.size += 1
else:
print("Queue is full")
```
6. **移除元素(出队操作)**
```python
def dequeue(self):
if not self.is_empty():
removed_data = self.head.data
self.head = self.head.next
if self.head is None:
self.tail = None
self.size -= 1
return removed_data
else:
print("Queue is empty")
```
请注意,这只是一个基础版本,实际应用可能需要更复杂的数据结构处理,比如动态扩容或收缩队列。以上代码未包括队列元素个数的计算,可以通过增加一个`get_size`方法来实现。
阅读全文