有人能解释为什么要给我看以及怎么打印吗? 我做错了什么?如何打印此对象引用?
我还尝试打印新的\u列表(inside sort())但仍然是一样的 我正在打印列表,为什么不显示
我知道以前有人问过我和这件事有关的事,但我还是不明白
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()
我以为它会打印一个列表
但它正在显现<main.LinkedList对象位于0x00E20BB0>; 如何打印此对象
您没有打印出链表的节点值,而是打印出sort()函数的返回值,该函数是LinkedList类的对象
如果要打印链表,则必须遍历链表并分别打印每个节点值
下面是如何打印链表的递归解决方案
您可以在调用sort函数后调用此方法
相关问题 更多 >
编程相关推荐