0
我有以下链接列表实现。 printlist()函数有问题。 while循环会产生一个错误,说明自身没有下一个属性。有没有更好的方法来写这个函数?谢谢!!!打印链接列表
class Node:
def __init__(self, data, next=None):
self.data=data
def _insert(self, data):
self.next=Node(data)
def _find(self, data):
if self.data==data:
return self
if self.next is None:
return None
while self.next is not None:
if self.next.data==data:
return self.next
return None
def _delete(self, data):
if self.next.data == data:
temp=self.next
self.next =self.next.next
temp=None
def _printtree(self):
while self:
print self.data,
self=self.next
class LinkedList:
def __init__(self):
self.head=None
def insert(self, data):
if self.head:
self.head._insert(data)
else:
self.head=Node(data)
def find(self, data):
if self.head.data==data:
return self.head
return self.head._find(data)
def delete(self, data):
if self.head.data==data:
head=None
return
self.head._delete(data)
def printtree(self):
self.head._printtree()
你是怎么称呼它的?完整的追溯在哪里?你到目前为止尝试解决这个问题? – jonrsharpe 2014-11-06 22:15:04
你的'Node.__ init__'方法中不应该有'self.next = next'吗? – khelwood 2014-11-06 22:15:14
为什么不使用__str__而不是_printtree和printtree? – 2014-11-06 23:16:38