Vorteile und Nachteile von std::vector und std::list ?



  • Aber wenn man dynamische Daten hat ist die Liste schneller, denn die Zeit, die man beim Vector einspart, verliert man, wenn dieser vergrößert werden muß. Vom Verkleinern will ich erst gar nicht reden, da die Liste hierbei x mal im Vorteil ist.

    Bei nicht so vielen Elementen kann der vector die list beim einfügen aber ganz schön abziehen. Probier's ruhig mal aus.



  • MisterX schrieb:

    Ich sage auch, das das Einfügen bei einer Liste IMMER schneller ist als bei einem Vector wenn man die Liste als Schlange verwenden will.

    Vector:
    Einfügen Vorne,
    Entfernen hinten,
    jedes Element einzeln verschieben (lesen+schreiben) um das loch zu schließen

    Liste:
    Einfügen Vorne (ein Objekt erzeugen 2 Zeiger verändern)
    Entfernen hinten (Objekt löschen, ein Zeiger verändern)

    Will man nur Konstant viele Objekte speichern und darauf zuzugreifen ist der Vector schneller.

    Aber wenn man dynamische Daten hat ist die Liste schneller, denn die Zeit, die man beim Vector einspart, verliert man, wenn dieser vergrößert werden muß. Vom Verkleinern will ich erst gar nicht reden, da die Liste hierbei x mal im Vorteil ist.

    Also:
    Statische Daten (oder wenig zu erwartende Änderungen oder nur wenig Daten) => Vector

    Dynamische Daten, Computerspiele(weil man nicht ne Sekunde stehen will) => Liste

    Oder was man will, und wenns stört einfach das andere einbauen 😃

    schau unbedingt nach, was std::queue alles kann.



  • Also sollte man vector immer benutzen und list nie?

    kann mal jemand paar anwendungsfälle machen wo jede der beiden klasse seine vor und nachteile haben und ungeschlagen sind? bisher kommt das so rüber, das list total der dreck ist und für nichts zu gebrauchen.



  • immer wenn ich ein beispiel für std::list konstruiert hab, entschwindet es, weil mir noch ne toller implemetierung einfällt. das liegt aber sicher nur daran, daß ich phantasielos bin.



  • Da, das sollte bei der Containerauswahl helfen: http://www.linuxsoftware.co.nz/containerchoice.png 😉

    grüße



  • und was sollte man nehmen um objekte schnell zu sortieren die immer ans ende per push_back eingefügt werden?


Anmelden zum Antworten