Ik probeer implementeren Tree Traversal preorder behulp rendementen die een IEnumerable terugkeert
private IEnumerable<T> Preorder(Node<T> node)
{
while(node != null)
{
yield return node.Data;
yield return node.LeftChild.Data;
yield return node.RightChild.Data;
}
}
In dit geval, het gaat in oneindige lus en ja ik weet dat ik moet oversteken te houden. Hoe kan dit worden gedaan?
Als de LeftChild of RightChild nul is, gooit een null uitzondering. Ik denk dat op dat punt ik moet opleveren break;
Ik neem aan, inorder en postorder zou te gelijk zijn, geen ideeën?
Ik heb de Resursive versie, die goed werkt.
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);
}
}
Bedankt.













