建立链表队列,输入10个数,依次入队,输出队头元素,再依次出队打印输出。
时间: 2024-10-17 08:05:28 浏览: 45
链表队列是一种利用链表数据结构实现先进先出(FIFO)的数据结构,其中队首元素是最先入队的,也是最先出队的。以下是使用Python实现的一个简单链表队列的例子:
```python
class Node:
def __init__(self, value):
self.value = value
self.next = None
class LinkedListQueue:
def __init__(self):
self.head = None
self.tail = None
# 入队操作
def enqueue(self, value):
new_node = Node(value)
if not self.is_empty():
self.tail.next = new_node
else:
self.head = new_node
self.tail = new_node
# 出队操作
def dequeue(self):
if self.is_empty():
return None
removed_value = self.head.value
self.head = self.head.next
if self.is_empty(): # 如果队列为空,移除tail
self.tail = None
return removed_value
# 检查队列是否为空
def is_empty(self):
return self.head is None
# 打印队头元素
def print_queue_head(self):
if not self.is_empty():
print(f"队头元素是: {self.head.value}")
else:
print("队列为空.")
# 示例
queue = LinkedListQueue()
for i in range(1, 11): # 输入10个数
queue.enqueue(i)
# 输出队头元素并打印
queue.print_queue_head()
while not queue.is_empty(): # 依次出队并打印
print(queue.dequeue())
```
在这个例子中,我们首先创建了`Node`类表示链表中的节点,然后创建`LinkedListQueue`类包含了入队(enqueue)、出队(dequeue)以及检查队列是否空的方法。接着,我们创建了一个实例,并添加10个数字,最后依次打印队头元素并出队打印。
阅读全文