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()
我总是让这个Node对象在控制台中没有下一个属性。它打印链表,但如何摆脱该警告。我应该提出什么额外条件?
答案 0 :(得分:3)
在LinkedList
中,您继续使用属性名称next
访问节点的下一个节点,但在Node
类型中,您实际上定义了要调用的下一个指针next_node
因此,要么更改Node
定义,以便指针只调用next
,要么更改LinkedList
中的用法以引用node.next_node
而不只是node.next
}