diff --git a/seminar/treelib.py b/seminar/treelib.py index fa2f7807..ce956219 100644 --- a/seminar/treelib.py +++ b/seminar/treelib.py @@ -30,7 +30,17 @@ def get_parent(node): # Obecný next: další Node v "the-right-order" pořadí (já, pak potomci, pak sousedé) 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): pass