Zeilennummer eines Listenelements in einer hierarchischen Liste ermitteln

Neue Frage »

Auf diesen Beitrag antworten »
Donar Zeilennummer eines Listenelements in einer hierarchischen Liste ermitteln

Guten Tag,

es soll ein Teil einer dynamisch veränderbaren hierarchische Liste auf dem Bildschirm angezeigt werden, hübsch eingerückt nach Hierarchiestufe.

Es seien insgesamt 1000 Listeneinträge vorhanden, alles hübsch doppelt verkettet mitsamt Bezug nach oben und Bezügen nach unten. Nur ein kleiner Ausschnitt davon soll jeweils angezeigt werden, sagen wir, es zeige 10 Elemente an.

Es wird jetzt ein beliebiger Listeneintrag verändert. Wie stelle ich am zweckmässigsten fest, ob die Veränderung einen angezeigten Eintrag (idealerweise: und den wievielten davon) betrifft?

Mir fallen zwei Verfahren ein, beide unbefriedigend irgendwie.

(1) Jedem Listeneintrag wird als Eigenschaft eine Zeilennummer zugeordnet. Vorteil: die Entscheidung ist trivial. Nachteil: Wird ein Eintrag eingeschoben, muss der gesamte Teil ab dieser Zeilennummer neu durchnummeriert werden, wenn z.B. vor dem augenblicklich ersten Element ein neuer Eintrag hinzugefügt wird, sind 1000 Updates erforderlich.

(2) Die Position wird mittels Backtracking zur Zeit der Anfrage ermittelt. Vorteil: Keine Neunummerierungen erforderlich. Nachteil: Das Backtracking benötigt unter Umständen ziemlich viel Zeit: wird das tausende Element verändert, darf die gesamte Liste zurückverfolgt werden.

<strikethrough>An beiden</strikethrough> Am ersten Verfahren auch positiv ist, dass die Zeilennummer des ersten angezeigten Eintrages gespeichert und für Vergleiche herangezogen werden kann (einfache Möglichkeit "den wievielten" zu ermitteln).

Frage in die Runde: Wie geht der gewiefte Theoretiker da vor?
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »