Page 1 of 1

Datenstruktur für einen Texteditor

Posted: Tue 24 Apr, 2007 10:49 am
by random
Hi Leutz,


etwas, wo ich beim googeln nicht fündig werde (vielleicht stelle ich einfach nur die falschen Fragen :-) ist die Suche nach einer Datenstruktur / Ablageordnung / Organisation für einen Texteditor.

Was ich wissen möchte ist, wie lege ich am sinnvollsten den Text im Speicher ab, um möglichst schnell und unkompliziert drauf zugreifen zu können?

Nacheinander im Speicher (array 1(riesen feld), 2(zeilenorientiert) -dimensional) ist dummfug, da jedesmal wenn etwas eingefügt oder gelöscht wird, der ganze speicher umgekrempelt werden muss.

Linked List wäre da ev, sinnvoll, gibt aber ne tierische Verpointerung und ist nicht random-access-fähig.


Hat jemand von euch Erfahrung mit so etwas ?


Greetz,
/r.

Posted: Wed 25 Apr, 2007 9:13 am
by jan
Wie wäre es mit einem Array aus Pointern, der mit der Zeilennummer indiziert wird. Zum Einfügen oder Löschen würden dann nur die Pointer im Array verschoben, nicht aber der Speicherinhalt, auf den diese zeigen.

Posted: Wed 25 Apr, 2007 11:44 am
by random
Hi,

schon ein interessanter ansatz, doch wenn ich über zeilen hinweg lösche bzw. diese zusammenziehe muss ich doch wieder schieben.

Hmmm ... aber nur zwischen zwei zeilen und nciht im ganzen text! *gg*
Das lass ich mir mal durch den Kopf gehen.
Müsste man nur überlegen, wie man sich den Speicher für die Länge der zeile beschafft / organisiert.
Von einigen editoren weiss ich, dass die zeilenlänge z.B. auf 4k zeichen beschränkt ist.


Greetz,
/r.