Datenstruktur für einen Texteditor

Für alle Themen, die nichts mit Laser zu tun haben.

Moderator: Gooseman

Post Reply
User avatar
random
Posts: 2161
Joined: Fri 03 Aug, 2001 12:00 pm
Do you already have Laser-Equipment?: Dynamics, Easy-/NetLase, NetLaseLC
Some devices that emit light.
Location: München - 85540 Haar
Contact:

Datenstruktur für einen Texteditor

Post by random » Tue 24 Apr, 2007 10:49 am

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.
Grün ist blauer als Rot...
NetLase-LC Firmware.

User avatar
jan
Posts: 484
Joined: Thu 07 Dec, 2000 12:00 pm
Location: 47652 Weeze

Post by jan » Wed 25 Apr, 2007 9:13 am

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.

User avatar
random
Posts: 2161
Joined: Fri 03 Aug, 2001 12:00 pm
Do you already have Laser-Equipment?: Dynamics, Easy-/NetLase, NetLaseLC
Some devices that emit light.
Location: München - 85540 Haar
Contact:

Post by random » Wed 25 Apr, 2007 11:44 am

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.
Grün ist blauer als Rot...
NetLase-LC Firmware.

Post Reply

Return to “Off-Topic”

Who is online

Users browsing this forum: Bing [Bot], Semrush [Bot] and 1 guest