Browse Source

Treelib: get_next_brother_of_type

export_seznamu_prednasek
Pavel 'LEdoian' Turinsky 5 years ago
parent
commit
bf96cac66f
  1. 14
      seminar/treelib.py

14
seminar/treelib.py

@ -77,6 +77,11 @@ def me_and_right_brothers(node):
yield current yield current
current = current.succ current = current.succ
def right_brothers(node):
generator = me_and_right_brothers(node.succ)
for item in generator:
yield item
# Generátor všech sourozenců (vč. sám sebe) # Generátor všech sourozenců (vč. sám sebe)
def all_brothers(node): def all_brothers(node):
# Najdeme prvního bratra # Najdeme prvního bratra
@ -103,9 +108,12 @@ def all_children(node):
## Filtrační hledání ## Filtrační hledání
# Najdi dalšího bratra nějakého typu, nebo None. # Najdi dalšího bratra nějakého typu, nebo None.
# hledá i podtřídy, i.e. get_next_brother_of_type(neco, TreeNode) je prostě succ. # hledá i podtřídy, i.e. get_next_brother_of_type(neco, TreeNode) je prostě succ.
def get_next_brother_of_type(current, type): def get_next_brother_of_type(node, type):
pass for current in right_brothers(node)
def get_prev_brother_of_type(current, type): if isinstance(current, type):
return current
def get_prev_brother_of_type(node, type):
pass pass
# Totéž pro "the-right-order" pořadí # Totéž pro "the-right-order" pořadí

Loading…
Cancel
Save