当我第二次调用print函数只给我列表的第二部分时,我为Python中的Linked List实现编写了一个打印函数(纯粹是出于研究目的)时,我感到有些惊讶。
17 77 31
54 26 93
进一步考虑,这当然是有道理的,因为实例的头部由打印功能修改了。
我想知道这是否是打印链表的常用方法(在学术练习中),并且每次调用该打印方法时又如何重新设置打印头?我还会将代码放到打印功能中将头移回列表的开头吗?
...
def print_list(self):
while self.head is not None:
print(self.head, end=" ")
self.head = self.head.next
print()
mylist = UnorderedList()
mylist.add(31)
mylist.add(77)
mylist.add(17)
mylist.print_list()
mylist.add(93)
mylist.add(26)
mylist.add(54)
mylist.print_list()