问题遇到的现象和发生背景 python链表
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容 Traceback (most recent call last):
File "C:\Users\twy\Desktop\experiment3\lab3_2.py", line 51, in
myQueue.dequeue()
File "C:\Users\twy\Desktop\experiment3\lab3_2.py", line 31, in dequeue
assert not self.is_empty()
AssertionError
我的解答思路和尝试过的方法
class Node(object):
def __init__(self, value=None):
self.data = value
self.next = None
class LQueue(object):
def __init__(self):
# to note that no header node is defined
self.front = None
self.rear = None
self.size=0
def enqueue(self, value):
#
newnode = Node(value)
if self.is_empty():
# add an element for empty queue
self.rear = self.front = newnode
else:
self.rear.next=newnode
self.rear=newnode
def dequeue(self):
#
assert not self.is_empty()
result=self.front.data
self.front=self.front.next
return result
def is_empty(self):
return self.size==0
def gethead(self):
# read the front element of queue
if not self.is_empty():
self.front=self.front.data
if __name__ == "__main__":
myQueue = LQueue()
myQueue.enqueue(6)
myQueue.enqueue(8)
print("The top element of current queue is: ", myQueue.gethead())
myQueue.dequeue()
print("The top element of current queue is: ", myQueue.gethead())