挑战介绍
实现链式队列入队,出队的方法。链式队列的介绍如下:
- 链式队列是使用链表实现的队列存储结构。
链式队列结构图解
内容
- Node 类是定义的结点。
- Node 中的 init 方法用于初始化结点,结点包含数据元素 data 和指向下一个结点地址的指针 next。
- Queue 类是定义的链栈。
- Queue 中的 init 方法用于初始化链式队列。
- Queue 中的 enqueue 方法用于进行入队操作,参数 data 用于指定入队的数据元素,它没有返回值。
- Queue 中的 dequeue 方法用于进行出队操作,它没有参数,需要返回出队的那个数据元素。如果队列是空的,返回 None。
思路
使用链表结构实现队列
解答
class Node(object):
'''定义Node节点类'''
def __init__(self, data):
self.data = data
self.next = None
class Queue(object):
def __init__(self):
self.head = None
def enqueue(self, data): # data入队
if self.head is None:
self.head = Node(data)
node = self.head
while node.next:
node = node.next
node.next = Node(data)
def dequeue(self): # 出队
if self.head is None:
return None
node = self.head
if node.next is None:
self.head = None
else:
self.head = node.next
return self.head.data # 返回出队数据
参考
题目来源于实验楼在线,思路和解答为我自己编写的。
如有侵权,请联系我删除,邮箱:zheng_zhouxia@qq.com
水平有限,有不当之处烦请批评指正!