Forum: PC-Programmierung Dynamisches Array mit realloc


von exilcubaner (Gast)


Lesenswert?

hi, ich würde gern ein dynamisches array implementieren. jetzt stellt 
sich mir die frage, wie man sowas am besten angeht?

von exilcubaner (Gast)


Lesenswert?

axo, ich würd es gern in c machen und kann schon programmieren, es geht 
also eher um den richtigen algorithmus. besonders bekomme ich probleme 
beim einfügen und entfernen, weil ich dann nicht genau weiß wie groß der 
neue datenblock werden muss?

von exilcubaner (Gast)


Lesenswert?

keiner eine antwort?

von exilcubaner (Gast)


Angehängte Dateien:

Lesenswert?

:(

von Verkettete liste (Gast)


Lesenswert?

Such mal nach verketteten Listen.

von exilcubaner (Gast)


Lesenswert?

Verkettete liste schrieb:
> Such mal nach verketteten Listen.

sowas passt bei mir nicht so rein, grund ist folgender: ich hab zzt. ein 
stack und der ist mit realloc implementiert (ich hab auch einen mit ner 
liste, aber der kommt in dem speziellen fall nicht zum einsatz), jetzt 
hab ich im code der stack 'klasse' eine funktion die einen O(1) index 
zugriff auf die daten anbietet. streng genommen ist es dann kein stack 
mehr. nun bin ich ein bischen beim saubermachen und will diese funktion 
aus der stack 'klasse' entfernen und dafür ein array verwenden.

also, ich komme zum punkt... das array soll meine stack implementation 
ersetzen, ohne dass ich jetzt groß im projekt rumwursteln muss. und da 
ich das array dann gleich sauber implementieren will, stellt sich mir 
die frage:

angenommen es schaut so aus:
1
array
2
0 -> 1
3
1 -> 1
4
2
5
3
6
4
7
5 -> 1

einträge 2,3 und 4 sind 'leer' wenn ich jetzt 5 lösche, ist meine neue 
array größe 2.
ich denke, ich muss mir merken, welche stellen frei/besetzt sind und 
dann den letzten besetzte eintrag suchen. dafür brauch ich was 
schnelles. gedacht hab ich z.b. an ein bitfield? gibts da was besseres?

danke schon mal :)

von Stefanie B. (sbs)


Lesenswert?

echtes c, Oder darfs auch c++ sein?
siehe http://www.cplusplus.com/reference/stl/vector/
Es gibt sogar eine spezielle Bitfeld Implementation.

von exilcubaner (Gast)


Lesenswert?

Stefan B. schrieb:
> echtes c, Oder darfs auch c++ sein?
c++ liegt mir nicht so.

Stefan B. schrieb:
> siehe http://www.cplusplus.com/reference/stl/vector/
vektor hab ich gesucht, das passt super. dann kann ich mir auch das 
bitfield schenken und schiebe nach lösch operationen zu und vor dem 
einfügen auf was eh nicht oft vorkommen sollte.

danke!

von Mark B. (markbrandis)


Lesenswert?

Dann also viel Spaß beim C++ programmieren :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.