【发布时间】:2021-02-17 23:10:45
【问题描述】:
我正在处理一个处理链接列表和节点的项目,但我很难知道到目前为止什么不起作用。当我运行这段代码时,我得到的只是 19。任何我不理解的解释都将不胜感激。
class Node:
"""
Represents a node in a linked list
"""
def __init__(self, data):
self._data = data
self._next = None
def get_data(self):
return self._data
def set_data(self, newData):
self._data = newData
def get_next(self):
return self._next
def set_next(self, newNode):
self._next = newNode
class LinkedList:
"""
A linked list implementation of the List ADT
"""
def __init__(self):
self._head = None
def get_head(self):
"""
Returns head of node
"""
return self._head
def rec_add(self, val, a_node):
"""
A recursive method that adds a value to the linked list
"""
# works for an empty list OR because it is recursive; will add the value when it reaches end of the list
if a_node is None:
self._head = Node(val)
return self._head
else:
self._head.set_next(self.rec_add(val, a_node.get_next()))
return self._head
def add(self, val):
"""
Helper method for recursive add method
"""
self._head = self.rec_add(val, self._head)
def rec_display(self, a_node):
"""recursive display method"""
if a_node is None:
return
print(a_node.get_data(), end=" ")
self.rec_display(a_node.get_next())
def display(self):
"""recursive display helper method"""
self.rec_display(self.get_head())
这就是我正在测试的结果,刚刚返回 19:
my_list = LinkedList()
my_list.add(13)
my_list.add(8)
my_list.add(19)
my_list.display()
【问题讨论】:
标签: python-3.x linked-list nodes