logo

Vektor von Vektoren in C++ STL mit Beispielen

Voraussetzung: Vektoren in C++ STL

Vektoren werden als dynamische Arrays bezeichnet, deren Größe sich automatisch ändert, wenn ein Element eingefügt oder gelöscht wird, wobei deren Speicherung automatisch vom Container verwaltet wird.



Azure-Abonnement

Vektor von Vektoren ist ein zweidimensionaler Vektor mit einer variablen Anzahl von Zeilen, wobei jede Zeile ein Vektor ist. Jeder Vektorindex speichert einen Vektor, der durchlaufen und auf den zugegriffen werden kann Iteratoren . Es ähnelt einem Array von Vektoren aber mit dynamischen Eigenschaften.

Syntax:

vector vec;>

Beispiel:



 vector vec{ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9, 4 } }; where vec is the vector of vectors with different number of elements in different rows>

Einfügen von Vektoren in einen Vektor

Elemente können mit in einen Vektor eingefügt werden push_back() Funktion von C++ STL.

Das folgende Beispiel zeigt die Einfügeoperation in einen Vektor von Vektoren. Der Code erstellt mithilfe der Funktion push_back() einen 2D-Vektor und zeigt dann die Matrix an.



Syntax:

vector_name.push_back(value) where value refers to the element to be added in the back of the vector>

Beispiel 1:

 v2 = {1, 2, 3} v1.push_back(v2);>

Diese Funktion schiebt den Vektor v2 in den Vektor der Vektoren v1. Daher wird v1 zu { {1, 2, 3} }.

Beispiel 2:

 v2 = {4, 5, 6} v1.push_back(v2);>

Diese Funktion schiebt den Vektor v2 in den vorhandenen Vektor der Vektoren v1 und v1 wird zu v1 = { {1, 2, 3}, {4, 5, 6} }

Unten finden Sie ein Beispiel zur Veranschaulichung der Einfügung in einen Vektorvektor.




// C++ program to demonstrate insertion> // into a vector of vectors> > #include> #include> using> namespace> std;> > // Defining the rows and columns of> // vector of vectors> #define ROW 4> #define COL 5> > int> main()> {> >// Initializing the vector of vectors> >vectorint>> vec; // In Spalte einzufügende Elemente int num = 10; // Elemente in Vektor einfügen for (int i = 0; i // Vektor zum Speichern von Spaltenelementen vector v1; for (int j = 0; j v1.push_back(num); num += 5; } // Zurückschieben über den 1D-Vektor // um den 2D-Vektor zu erstellen vec.push_back(v1); } // Anzeigen des 2D-Vektors für (int i = 0; i für (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Ausgabe:

 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105>

Entfernen oder Löschen in einem Vektor von Vektoren

Elemente können mithilfe von aus einem Vektor von Vektoren entfernt werden Pop zurück() Funktion von C++ STL.

Das folgende Beispiel zeigt die Entfernungsoperation in einem Vektor von Vektoren. Der Code entfernt mithilfe der Funktion pop_back() Elemente aus einem 2D-Vektor und zeigt dann die Matrix an.
Syntax:

vector_name[row_position].pop_back()>

Beispiel 1: Der Vektor der Vektoren sei der Vektor v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Diese Funktion entfernt Element 9 aus dem letzten Zeilenvektor. Daher wird v zu { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Beispiel 2:

 v[1].pop_back()>

Diese Funktion entfernt Element 6 aus dem letzten zweiten Zeilenvektor. Daher wird v zu { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Nachfolgend finden Sie ein Beispiel zur Veranschaulichung der Entfernung von Vektoren aus einem Vektor.




// C++ program to demonstrate removal> // from a vector of vectors> > #include> #include> using> namespace> std;> > // Driver Method> int> main()> {> >// Initializing 2D vector 'vect' with> >// sample values> >vectorint>> vec{ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; // Elemente aus der // letzten Zeile des Vektors entfernen vec[2].pop_back(); vec[1].pop_back(); // Anzeige des 2D-Vektors für (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Ausgabe:

 1 2 3 4 5 7 8>

Durchquerung eines Vektors von Vektoren

Der Vektor der Vektoren kann mit dem durchlaufen werden Iteratoren in C++. Der folgende Code demonstriert die Durchquerung eines 2D-Vektors.

Syntax:

 for i in [0, n) { for (iterator it = v[i].begin(); it != v[i].end(); it++) { // Operations to be done // For example to print print(*it) } }>

Unten finden Sie ein Beispiel zur Veranschaulichung der Durchquerung eines Vektorvektors.




// C++ code to demonstrate traversal> // of a 2D vector> > #include> #include> using> namespace> std;> > // Driver Method> int> main()> {> >// Initializing 2D vector 'vect' with> >// sample values> >vectorint>> vec{ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; // Anzeige des 2D-Vektors für (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Ausgabe:

 1 2 3 4 5 6 7 8 9>