list bzw. vector in C?
-
HI Leute! In C gibt es ja keine Container wie in C++ !
Wie kann ich vergleichbare Container in C implementieren?
Liste:
typedef struct
{
int val;
TLIST *pn;
TLIST *pf;
}TLIST;So würde die Liste doch funktionieren? (doppelt - verkettet)
Wie mach ich einen Vector?
-
Help! schrieb:
Wie mach ich einen Vector?
Array kapseln und Zugriffs - und Modifikationsfunktionen anbieten. Oder du verwendest z.B. die glib-Bibliothek, die bietet diese Container (und vieles mehr) bereits an. Erprobt und für gut befunden :xmas1:
-
bei dem vector -> muss i da jedesmal da gesamte Array umkopieren?
Also ich hab ein Array -> füge was ein -> Mem. alloc -> umkopieren -> anhängen (oder vorne einfügen)
-
Help! schrieb:
Wie mach ich einen Vector?
guckst du: http://www.comp.rgu.ac.uk/staff/df/down/prog/vector.c
-
Und den Header nicht vergessen
http://www.comp.rgu.ac.uk/staff/df/down/prog/vector.h
-
wenn ich das richtig sehe -> hat der vector doch eine gewisse Ähnlichkeit mit einer liste?
-
Nö, nicht mal ansatzweise. Liste -> mehrere Nodes hintereinander geschachtelt; Vector ist einfach nur nen Array, was dynamisch vergrößert/verkleinert wird.