Datenstruktur für einen Texteditor

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

Moderator: Gooseman

Antworten
Benutzeravatar
random
Beiträge: 2160
Registriert: Fr 03 Aug, 2001 12:00 pm
Do you already have Laser-Equipment?: Dynamics, Easy-/NetLase, NetLaseLC
Some devices that emit light.
Wohnort: München - 85540 Haar
Kontaktdaten:

Datenstruktur für einen Texteditor

Beitrag von random » Di 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.

Benutzeravatar
jan
Beiträge: 484
Registriert: Do 07 Dez, 2000 12:00 pm
Wohnort: 47652 Weeze

Beitrag von jan » Mi 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.

Benutzeravatar
random
Beiträge: 2160
Registriert: Fr 03 Aug, 2001 12:00 pm
Do you already have Laser-Equipment?: Dynamics, Easy-/NetLase, NetLaseLC
Some devices that emit light.
Wohnort: München - 85540 Haar
Kontaktdaten:

Beitrag von random » Mi 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.

Antworten

Zurück zu „Off-Topic“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste