class node:
def __init__(self,data):
self.data=data
self.left=None
self.right=None
class btree:
def __init__(self):
self.root=None
def insertt(self,root, data):
if root==None:
root=node(data)
elif root.data > data:
self.insertt(self,root.left, data)
else:
self.insertt(self,root.right, data)
def insert(self,data):
self.insertt(self.root, data)
def printall(self):
self.printtall(self.root)
def printtall(self,root):
if root==None:
print "reached end "
else:
printtall(root.left)
print root.data
printtall(root.right)
a=btree()
a.insert(2)
a.insert(1)
a.insert(6)
a.insert(3)
a.printall()
Also ist die self.root immer None. Ich bin ein C++ - Programmierer und ich finde es schwierig, mit Python umzugehen, da ein Anruf per Referenz hier nicht gefunden wird. Was soll ich tun, damit es funktioniert? Danke für Ihre Hilfe.Funktion nicht durch Referenz aufgerufen bewirkt, dass self.root keine ist
Wenn root keine ist, dass Sie die Wurzel zurückkehren (beim Einfügen). Die Rückgabe beendet die Funktion. – syntonym
@syntonym ja, aber die Rückkehr wird es auch in einigen Variablen richtig speichern? Sie können dieser Variablen nichts hinzufügen, was sich auf die reale Variable auswirken würde. Wenn Sie Recht haben, geben Sie bitte Ihre Codeversion an. –
@TomKarzes könnten Sie Ihre Version des gleichen Codes veröffentlichen? Bitte bearbeiten Sie es –