From 9efb684cc1c1e15c2f4f66eac3762024d92464f1 Mon Sep 17 00:00:00 2001 From: Pavel 'LEdoian' Turinsky Date: Wed, 11 Mar 2020 21:39:26 +0100 Subject: [PATCH] Treelib: general_next --- seminar/treelib.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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