logo

Vektor vektorov v C++ STL s príkladmi

Predpoklad: Vektory v C++ STL

vektory sú známe ako dynamické polia s možnosťou automatickej zmeny veľkosti, keď je prvok vložený alebo odstránený, pričom ich ukladanie automaticky spracováva kontajner.



Vektor vektorov je a dvojrozmerný vektor s premenlivým počtom riadkov, kde každý riadok je vektorový. Každý index vektora ukladá vektor, ktorý je možné prechádzať a pristupovať k nemu pomocou iterátorov . Je to podobné ako a Pole vektorov ale s dynamickými vlastnosťami.

Syntax:

vector vec;>

Príklad:



 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>

Vkladanie vektorov do vektora

previesť celé číslo na reťazec java

Prvky môžu byť vložené do vektora pomocou push_back() funkcia C++ STL.

Nižšie uvedený príklad demonštruje operáciu vkladania do vektora vektorov. Kód vytvorí 2D vektor pomocou funkcie push_back() a potom zobrazí maticu.



Syntax:

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

Príklad 1:

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

Táto funkcia vloží vektor v2 do vektora vektorov v1. Preto sa v1 stáva { {1, 2, 3} }.

Príklad 2:

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

Táto funkcia vloží vektor v2 do existujúceho vektora vektorov v1 a v1 sa zmení na v1 = { {1, 2, 3}, {4, 5, 6} }

Nižšie je uvedený príklad na demonštráciu vloženia vektorov do vektora.

vstupný reťazec java




// 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; // Prvky na vloženie do stĺpca int num = 10; // Vkladanie prvkov do vektora for (int i = 0; i // Vektor na uloženie vektorových prvkov stĺpca v1; for (int j = 0; j v1.push_back(num); num += 5; } // Presunutie späť nad 1D vektor // na vytvorenie 2D vektora vec.push_back(v1); } // Zobrazenie 2D vektora pre (int i = 0; i pre (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Výkon:

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

Odstránenie alebo vymazanie vektorov z vektora

Prvky môžu byť odstránené z vektora vektorov pomocou pop_back() funkcia C++ STL.

Nasledujúci príklad demonštruje operáciu odstránenia vo vektore vektorov. Kód odstráni prvky z 2D vektora pomocou funkcie pop_back() a potom zobrazí maticu.
Syntax:

vector_name[row_position].pop_back()>

Príklad 1: Nech je vektor vektorov vektor v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Táto funkcia odstráni prvok 9 z posledného riadkového vektora. Preto sa v stáva { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Príklad 2:

názov špeciálnych znakov
 v[1].pop_back()>

Táto funkcia odstráni prvok 6 z posledného vektora druhého riadku. Preto sa v stáva { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Nižšie je uvedený príklad, ktorý demonštruje odstránenie vektorov z vektora.




// 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 } }; // Odstránenie prvkov z // posledného riadku vektora vec[2].pop_back(); vec[1].pop_back(); // Zobrazenie 2D vektora pre (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

obsahuje python

>

>

Výkon:

 1 2 3 4 5 7 8>

Prechod vektora vektorov

Vektor vektorov možno prechádzať pomocou iterátorov v C++. Nasledujúci kód demonštruje prechod 2D vektora.

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

Nižšie je uvedený príklad na demonštráciu prechodu vo vektore vektorov.

java char na celé číslo




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

>

>

Výkon:

 1 2 3 4 5 6 7 8 9>