ila*_*pad -2 python linked-list
class Node(object):
def __init__(self, data = None, next = None):
self.data = data
self.next_node = next
def get_data(self):
return self.data
def get_next(self):
return self.next_node
def set_next(self, new_next):
self.next_node = new_next
class LinkedList(object):
def __init__(self, head = None):
self.head = head
def insert(self, data):
new_node = Node(data, None)
if self.head is None:
self.head = new_node
else:
new_node.next = self.head
self.head = new_node
def print_list(self):
temp = self.head
while temp!=None:
print(temp.data)
if temp.next != None:
temp = temp.next
s = LinkedList()
s.insert(3)
s.insert(4)
s.insert(5)
s.insert(6)
s.print_list()
Run Code Online (Sandbox Code Playgroud)
我总是在控制台中得到这个 Node 对象没有属性 next 。它打印链表,但我如何摆脱该警告。我应该添加什么额外条件?
在 中LinkedList,您继续使用属性名称访问节点的下一个节点,next但在Node类型中,您实际上定义了要调用的下一个指针next_node。
因此,要么更改Node定义以便只调用指针next,要么更改 in 中的用法LinkedList以引用node.next_node而不是仅引用node.next