def delete(self, data):
if not self.trouve(data):
return
if data == self.data:
# si le noeud n'a pas de fils
if self.left is None and self.right is None:
if self.parent.left.data == data:
self.parent.left = None
else:
self.parent.right = None
del self
# si le noeud a un fils...
elif self.left is None:
if self.parent.left is not None and self.parent.left.data == data:
self.parent.left = self.right
else:
self.parent.right = self.right
del self
# (suite dans le programme complet...)