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