Element im 2D vector löschen



  • Hi,

    ich versuche gerade Elemente in einem 2D vector zu löschen. Aber irgendwie funktioniert das nicht.

    ich habe zum Beispiel einen 2D vector mit folgenden Werten:

    1 2 3 4 5 6
    3 4 5 3 5 6
    3 4 5 2 2 2
    

    Ich möchte jetzt die ersten 3 Elemente jeder Zeile löschen. Kann mir das bitte jemand erklären. Habe schon pop_back und erase versucht aber es will nicht funktionieren.

    Gruß



  • Zeig mal den Code.



  • Ich hab es so versucht. Aber da kommt immer der Fehler das es keinen Member pop_front gibt. Aber im Internet habe ich über diese Methode was gelesen.

    for (int zeile=0; zeile<mv.size(); zeile++)
        {
           for (int spalte=0; spalte<mv.size(); spalte++)
           {
                mv[zeile].pop_back();
           }
        }
    


  • Streetdevil schrieb:

    Ich hab es so versucht. Aber da kommt immer der Fehler das es keinen Member pop_front gibt. Aber im Internet habe ich über diese Methode was gelesen.

    for (int zeile=0; zeile<mv.size(); zeile++)
        {
           for (int spalte=0; spalte<mv.size(); spalte++)
           {
                mv[zeile].pop_back();
           }
        }
    

    std::vector nicht.

    Das war ein anderer Container.

    Bei einem vector kannst du das mit einerm Iterator machen, anstatt mit front-Operationen.
    Wenn du viele solche Listenoperationen, wie anfügen/löschen hast, dann eignet sich ein vector dafür nicht. Nimm dafür lieber eine deque.


Anmelden zum Antworten