我想用 队列的基本操作采用链队列。
时间: 2023-09-15 15:14:57 浏览: 44
好的,下面是使用链队列实现队列的基本操作的Python代码:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class Queue:
def __init__(self):
self.front = None
self.rear = None
def is_empty(self):
return self.front is None
def enqueue(self, data):
new_node = Node(data)
if self.is_empty():
self.front = new_node
self.rear = new_node
else:
self.rear.next = new_node
self.rear = new_node
def dequeue(self):
if self.is_empty():
print("队列为空")
return None
data = self.front.data
self.front = self.front.next
if self.front is None:
self.rear = None
return data
def get_front(self):
if self.is_empty():
print("队列为空")
return None
return self.front.data
# 示例用法
queue = Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
print("队列头部元素为:", queue.get_front())
print("出队元素为:", queue.dequeue())
print("出队元素为:", queue.dequeue())
print("队列头部元素为:", queue.get_front())
```
这段代码定义了一个 `Node` 类和一个 `Queue` 类,其中 `Node` 类表示链表中的节点,而 `Queue` 类表示链队列。在 `Queue` 类中,`is_empty()` 方法用于判断队列是否为空,`enqueue()` 方法用于入队操作,`dequeue()` 方法用于出队操作,`get_front()` 方法用于获取队头元素。
你可以根据需要修改示例用法部分的代码来测试队列的基本操作。注意,在使用完队列后,记得释放内存空间,避免内存泄漏。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)