Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Rekursive Struktur iterativ abfragen

  Alt 22. Mär 2010, 15:11
Hey hey ,

so ganz ist mir noch nicht klar, was das Ziel ist. Du hast einen fertigen TOCEntry-Baum und durch den rekursiven Code den homomorphen Section-Baum. Jetzt suchst du zu einer bestimmten Seitenzahl das Section-Objekt, dessen TOCEntry diese PageNum hat? Dann würde ich in AddRecursive gleich noch ein Dictionary<int, Section> mitbefüllen - deutlich einfacher, als im Nachhinein in den Bäumen herumzusuchen .

/add
@alzaimar: An einen Iterator, also prinzipiell die Umwandlung des Baumes in eine leichter durchsuchbare Liste, hatte ich als erstes auch gedacht, aber gerade durch das Zusammenspiel der beiden Bäume gehe ich davon aus, dass die Daten/Beziehungen direkt beim Erstellen besser eingesammelt werden können.
Was du mit 'First/Next/EndOfData()' beschreibst, entspricht übrigens IEnumerable . Und die Pseudo-Koroutinen-C#-Iteratoren machen die Implementierung trivial.

Code:
public void IEnumerable<TOCEntry> Flatten()
{
    yield this;
    foreach (TOCEntry child in SubEntries)
        foreach (TOCEntry item in child.Flatten())
            yield child;
}
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat