Je suis en train de mettre en œuvre à l'aide d'arbre Traversal précommande retour de rendement qui retourne un IEnumerable
private IEnumerable<T> Preorder(Node<T> node)
{
while(node != null)
{
yield return node.Data;
yield return node.LeftChild.Data;
yield return node.RightChild.Data;
}
}
Dans ce cas, il passe en boucle infinie et oui je sais que je dois garder déplacement. Comment cela peut-il être fait?
Si le LeftChild ou RightChild est nul, renvoie une exception nulle. Je pense à ce moment-là que je dois céder pause;
Je suppose que, afinde et postorder serait similaire aussi, des idées?
J'ai la version Resursive, qui fonctionne bien.
public void PreOrderTraversal(Node<T> node)
{
if(node!=null)
{
Console.Write(node.Data);
}
if (node.LeftChild != null)
{
PreOrderTraversal(node.LeftChild);
}
if (node.RightChild != null)
{
PreOrderTraversal(node.RightChild);
}
}
Merci.













