les habitudes des visiteurs et récursion
-
06-09-2019 - |
Question
Y at-il un avantage pour l'utilisation des visiteurs dans modèle un scénario récurrent? Si oui pouvez-vous démontrer programme?
La solution
Que diriez-vous traverser un arbre binaire? par exemple.
private class NodeVisitor{
public void visit(VisitableNode<T> node){
if (node!=null) {
print node.data;
}
}
}
public class VisitableTree<T> {
private VisitableNode<T> root;
public void printNodes(){
new NodeVisitor.visit(root);
}
private class VisitableNode<T> {
T data;
VisitableNode<T> left;
VisitableNode<T> right;
public void visit(NodeVisitor<T> visitor){
..do something
visitor.visit(left);
visitor.visit(right);
}
}
}
Autres conseils
Je pense que le principal avantage est qu'il ne nécessite que des itérations sur des collections 1 niveau de profondeur. Il peut rappeler, mais au moins la méthode accept () sera propre.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow