编写链接队列的基本操作函数①调用进队函数建立一个队列。 ②读取队列中的第一个元素。 ③从队列中删除元素。 ④输出队列中的所有元素。
时间: 2023-06-18 13:03:56 浏览: 91
下面是链接队列的基本操作函数的实现代码:
```python
class Node:
def __init__(self, data=None):
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
else:
self.rear.next = new_node
self.rear = new_node
def dequeue(self):
if self.is_empty():
print("队列为空")
else:
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("队列为空")
else:
return self.front.data
def print_queue(self):
if self.is_empty():
print("队列为空")
else:
current = self.front
while current is not None:
print(current.data, end=' ')
current = current.next
```
①调用进队函数建立一个队列:
```python
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
```
②读取队列中的第一个元素:
```python
front = q.get_front()
print("队列首元素:", front)
```
③从队列中删除元素:
```python
data = q.dequeue()
print("出队元素:", data)
```
④输出队列中的所有元素:
```python
q.print_queue()
```
完整代码如下:
```python
class Node:
def __init__(self, data=None):
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
else:
self.rear.next = new_node
self.rear = new_node
def dequeue(self):
if self.is_empty():
print("队列为空")
else:
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("队列为空")
else:
return self.front.data
def print_queue(self):
if self.is_empty():
print("队列为空")
else:
current = self.front
while current is not None:
print(current.data, end=' ')
current = current.next
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
front = q.get_front()
print("队列首元素:", front)
data = q.dequeue()
print("出队元素:", data)
q.print_queue()
```
输出结果为:
```
队列首元素: 1
出队元素: 1
2 3
```