PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C] dynamische Datenstruktur


DDRA
2003-09-11, 18:41:37
Hallo

Kann man eine dynamische Datenstruktur mit wahlfreiem Zugriff implementieren??

Nach ein bisschen suchen/lesen und nachdenken bin ich zu dem Schluss gekommen das das in reinem C eigentlich nicht möglich ist.
Oder doch ??

Meine eigentliche Frage ist deshalb mit welcher Programmiersprache liese sich sowas machen??

mfg DDRA

Demirug
2003-09-11, 19:16:15
Mir ist dein Problem nicht ganz klar. Was verstehts du unter einer "dynamische Datenstruktur mit wahlfreiem Zugriff"?

Mit C kann man eigentlich fast alles maches.

Gast
2003-09-12, 16:51:57
Naja eine dynamische Datenstruktur ist für mich z.b ein lineare Liste. Aber auf eine Element in einer Linearen Liste kann ich eben nicht wahlfrei zugreifen wenn ich nicht weiss an welcher Stelle in der Liste sich das gesuchte Element befindet.

Ist aber eigentlich egal ich definiere einfach alle Elemente.
Gleich im Programm.
Ist auch vieeeeeeeeeeeeel besser für die Performance :)

Stone2001
2003-09-12, 16:58:56
"Wahlfreier Zugriff" bedeutet das man auf jedes Datenelement einer Datenstruktur (kann auch ein Speicher sein) gleichschnell zugreifen kann.

Das es gewisse Datenstrukturen gibt, die diese Bedingung nicht erfüllen ist klar, aber ein einfacher Array z.B. den man mit realloc dynamisch Erweitern kann, sollte einen "wahlfreien Zugriff" ermöglichen.

Ansonsten sag uns mal, was du unter einem 'Wahlfreien Zugriff' verstehst, bzw. wie die Datenstruktur aussehen soll!

peecee
2003-09-12, 17:15:46
Dachte immer mit C lassen sich nur halddynamische Array erstellen. Mann lernt immer was dazu :)

Xmas
2003-09-12, 18:16:25
Original geschrieben von peecee
Dachte immer mit C lassen sich nur halddynamische Array erstellen. Mann lernt immer was dazu :)
Wie Demirug schon sagte, du kannst mit C fast alles machen, und wenn es doch nicht reichen sollte hilft immer noch Inline Assembler. Es stellt sich nur die Frage, wie kompliziert es wird.
Bei dynamischen Arrays sehe ich allerdings keine Probleme.

Gast
2003-09-12, 21:06:53
kannst du nicht c++ benutzen? dann hast du es viel einfacher. ;)