logo

Vector van vectoren in C++ STL met voorbeelden

Voorwaarde: Vectoren in C++ STL

Vectoren staan ​​bekend als dynamische arrays met de mogelijkheid om het formaat automatisch aan te passen wanneer een element wordt ingevoegd of verwijderd, waarbij hun opslag automatisch door de container wordt afgehandeld.



fabrieksontwerppatroon

Vector van vectoren is een tweedimensionale vector met een variabel aantal rijen waarbij elke rij vector is. Elke vectorindex slaat een vector op die kan worden doorlopen en benaderd met behulp van iteratoren . Het is vergelijkbaar met een Reeks vectoren maar met dynamische eigenschappen.

Syntaxis:

vector vec;>

Voorbeeld:



 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>

Invoeging in vector van vectoren

Elementen kunnen in een vector worden ingevoegd met behulp van de terugduwen() functie van C++ STL.

Het onderstaande voorbeeld demonstreert de invoegbewerking in een vector van vectoren. De code creëert een 2D-vector met behulp van de push_back()-functie en geeft vervolgens de matrix weer.



Syntaxis:

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

Voorbeeld 1:

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

Deze functie duwt vector v2 naar de vector van vectoren v1. Daarom wordt v1 { {1, 2, 3} }.

Voorbeeld 2:

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

Deze functie duwt vector v2 naar de bestaande vector van vectoren v1 en v1 wordt v1 = { {1, 2, 3}, {4, 5, 6} }

Hieronder ziet u het voorbeeld om de invoeging in een vector van vectoren te demonstreren.




// 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; // Elementen die in kolom moeten worden ingevoegd int num = 10; // Elementen in vector invoegen voor (int i = 0; i // Vector om de vector van kolomelementen op te slaan v1; for (int j = 0; j v1.push_back(num); num += 5; } // Terugduwen boven de 1D-vector // om de 2D-vector vec.push_back(v1) te maken; } // De 2D-vector weergeven voor (int i = 0; ik voor (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

woordenboekinitialisatie c#

>

Uitgang:

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

Verwijdering of verwijdering in een vector van vectoren

Elementen kunnen uit een vector van vectoren worden verwijderd met behulp van de pop_back() functie van C++ STL.

Het onderstaande voorbeeld demonstreert de verwijderingsbewerking in een vector van vectoren. De code verwijdert elementen uit een 2D-vector met behulp van de pop_back()-functie en geeft vervolgens de matrix weer.
Syntaxis:

vector_name[row_position].pop_back()>

Voorbeeld 1: Laat de vector van vectoren vector v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Deze functie verwijdert element 9 uit de laatste rijvector. Daarom wordt v { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Voorbeeld 2:

 v[1].pop_back()>

Deze functie verwijdert element 6 uit de laatste tweede rijvector. Daarom wordt v { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Hieronder ziet u het voorbeeld om de verwijdering uit een vector van vectoren aan te tonen.




// 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 } }; // Elementen verwijderen uit de // laatste rij van de vector vec[2].pop_back(); vec[1].pop_back(); // Weergave van de 2D-vector voor (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

string naar geheel getal in Java

>

>

Uitgang:

 1 2 3 4 5 7 8>

Doortocht van een vector van vectoren

De vector van vectoren kan worden doorlopen met behulp van de iteratoren in C++. De volgende code demonstreert het doorlopen van een 2D-vector.

Syntaxis:

 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) } }>

Hieronder ziet u het voorbeeld om de verplaatsing in een vector van vectoren aan te tonen.




// 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 } }; // Weergave van de 2D-vector voor (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Uitgang:

 1 2 3 4 5 6 7 8 9>