代码实现链式队列,输入数字入队,输入字符出队。
时间: 2024-01-15 13:47:27 浏览: 67
链式队列的实现
链式队列的实现需要定义两个类:节点类和队列类。
节点类定义:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
```
队列类定义:
```python
class Queue:
def __init__(self):
self.head = None
self.tail = None
def is_empty(self):
return self.head is None
def enqueue(self, data):
new_node = Node(data)
if self.is_empty():
self.head = new_node
self.tail = new_node
else:
self.tail.next = new_node
self.tail = new_node
def dequeue(self):
if self.is_empty():
return None
else:
data = self.head.data
self.head = self.head.next
if self.head is None:
self.tail = None
return data
```
然后,我们可以编写一个循环来输入数字并入队,输入字符并出队,直到输入字符为“q”退出循环。
```python
q = Queue()
while True:
x = input("Enter a number to enqueue or a character to dequeue (q to quit): ")
if x == "q":
break
elif x.isdigit():
q.enqueue(int(x))
else:
data = q.dequeue()
if data is None:
print("Queue is empty.")
else:
print("Dequeued:", data)
```
这个代码将数字入队,字符出队,直到输入字符“q”为止。在每次出队时,它还打印出出队的元素。
阅读全文