私は、ツリーとその反復を規則的な順序で愚かに実装しています。
次のようなもの (コードは単なる説明用です):
public IEnumerable<ReferenceNode<TItem, TKey>> AllBellow(ReferenceNode<TItem, TKey> node)
{
if (/*some codition that tells me that i can return this*/)
{
yield return node;
}
else
{
foreach (var child in node.Children)
{
foreach (var grandChild in AllBellow(child))
{
yield return grandChild;
}
}
}
}
では、ルートから始めて、反復を逆にするにはどうすればよいでしょうか? つまり、下に行って左から右に行くのではなく、下に行って右に左に...
質問がはっきりしない場合は、私がそれをまっすぐにするのを手伝ってください