Treelib: general_next

This commit is contained in:
Pavel 'LEdoian' Turinsky 2020-03-11 21:39:26 +01:00
parent 989e998e03
commit 9efb684cc1

View file

@ -30,7 +30,17 @@ def get_parent(node):
# Obecný next: další Node v "the-right-order" pořadí (já, pak potomci, pak sousedé) # Obecný next: další Node v "the-right-order" pořadí (já, pak potomci, pak sousedé)
def general_next(node): def general_next(node):
pass # Máme potomka?
if node.first_child is not None:
return node.first_child
# Nemáme potomka.
# Chceme najít následníka sebe, nebo některého (toho nejblíž příbuzného) z našich předků (tatínka, dědečka, ...)
while node.succ is None:
node = get_parent(node)
if node is None:
return None # žádný z předků nemá následníka, takže žádny vrchol nenásleduje.
return node.succ
def general_prev(node): def general_prev(node):
pass pass