有人可以解释为什么它显示给我以及如何打印吗? 我在做什么错,如何打印此对象引用?
我也尝试打印new_list(insort()),但仍然相同 我正在打印列表,然后为什么不显示
我知道之前有人问过有关此问题的信息... 但我仍然不明白。
class node(object):
def __init__(self, d, n=None):
self.data=d
self.next_node=n
def get_data(self):
return self.data
def set_data(self,d):
self.data=d
def get_next(self):
return self.next_node
def set_next(self, n):
self.next_node=n
def has_next(self):
if self.get_next() is not None:
return True
else:
False
class LinkedList(object):
def __init__(self, r=None):
self.root=r
self.size=0
def get_size(self):
return self.size
def add(self,d):
new_node = node(d, self.root)
self.root = new_node
self.size+=1
def sort(self):
if self.size>2:
newlist = []
this_node = self.root
newlist.append(this_node)
while this_node.has_next():
this_node = this_node.get_next()
newlist.append(this_node)
newlist = sorted(newlist ,key = lambda node: node.data,reverse=True)
newLinkedList = LinkedList()
for element in newlist:
newLinkedList.add(element)
return newLinkedList
return self
new_list=LinkedList()
new_list.add(10)
new_list.add(20)
new_list.add(30)
new_list.sort()
我希望它将打印列表打印列表
但显示的是主。位于0x00E20BB0>的LinkedList对象 如何打印该对象?
答案 0 :(得分:0)
您不是要打印出链表的节点值,而是要打印出作为类LinkedList对象的sort()函数的返回值。
如果要打印链接列表,则必须遍历列表并单独打印出每个节点值。
这是您如何打印链表的递归解决方案。
def print_list(head):
if head != null:
print(head.val)
print_list(head.next)
您可以在调用sort函数之后调用此方法