Arbre
implémente des arbres binaires non modifiables, dans un style
"fonctionnel". La classe ArbreIteration
fournit un itérateur sur ces arbres en faisant un parcours en
profondeur (DFS) avec un traitement postfixe : un noeud est
retourné quand tous les noeuds de ses sous-arbres droit et
gauche ont déjà été retournés. La
classe Test
donne un exemple d'utilisation.premier(a) = |
|
||
suivant (a) = |
|
Arbre
. La
classe ArbreIteration
n'existe plus et la classe Test
a
été légèrement modifiée.appliquer(Fonction<T>
f)
à la classe Arbre
. Une
interface Fonction
pour représenter le traitement à appliquer est donc
nécessaire. La classe Test
a été modifiée en conséquence. A noter que
la méthode f(T t)
dans l'interface Fonction
renvoie un booléen. Cela permet d'arrêter
l'itération en renvoyant false
.Arbre
a donc été modifée, ainsi que la classe Test
.