logo

Vektor vektorjev v C++ STL s primeri

Predpogoj: Vektorji v C++ STL

Vektorji so znani kot dinamični nizi z možnostjo samodejnega spreminjanja velikosti, ko je element vstavljen ali izbrisan, pri čemer njihovo shranjevanje samodejno obravnava vsebnik.



Vektor vektorjev je dvodimenzionalni vektor s spremenljivim številom vrstic, kjer je vsaka vrstica vektor. Vsak indeks vektorja shrani vektor, ki ga je mogoče prečkati in dostopati z uporabo iteratorji . Podobno je an Niz vektorjev vendar z dinamičnimi lastnostmi.

Sintaksa:

vector vec;>

primer:



 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>

Vstavljanje v vektor vektorjev

Elemente lahko vstavite v vektor z uporabo porini nazaj() funkcijo C++ STL.

Spodnji primer prikazuje operacijo vstavljanja v vektor vektorjev. Koda ustvari 2D vektor z uporabo funkcije push_back() in nato prikaže matriko.



Sintaksa:

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

Primer 1:

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

Ta funkcija potisne vektor v2 v vektor vektorjev v1. Zato v1 postane { {1, 2, 3} }.

Primer 2:

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

Ta funkcija potisne vektor v2 v obstoječi vektor vektorjev v1 in v1 postane v1 = { {1, 2, 3}, {4, 5, 6} }

Spodaj je primer za prikaz vstavljanja v vektor vektorjev.




// 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; // Elementi za vstavljanje v stolpec int num = 10; // Vstavljanje elementov v vektor za (int i = 0; i // Vektor za shranjevanje vektorja elementov stolpca v1; for (int j = 0; j v1.push_back(num); num += 5; } // Potiskanje nazaj nad 1D vektor // za ustvarjanje 2D vektorja vec.push_back(v1); } // Prikaz 2D vektorja za (int i = 0; i for (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Izhod:

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

Odstranitev ali izbris v vektorju vektorjev

Elemente je mogoče odstraniti iz vektorja vektorjev z uporabo pop_back() funkcijo C++ STL.

omejitve e-bančništva

Spodnji primer prikazuje operacijo odstranitve v vektorju vektorjev. Koda odstrani elemente iz 2D vektorja s funkcijo pop_back() in nato prikaže matriko.
Sintaksa:

vector_name[row_position].pop_back()>

Primer 1: Naj bo vektor vektorjev vektor v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Ta funkcija odstrani element 9 iz vektorja zadnje vrstice. Zato v postane { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Primer 2:

 v[1].pop_back()>

Ta funkcija odstrani element 6 iz vektorja zadnje druge vrstice. Zato v postane { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Spodaj je primer za prikaz odstranitve iz vektorja vektorjev.




// 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 } }; // Odstranjevanje elementov iz // zadnje vrstice vektorja vec[2].pop_back(); vec[1].pop_back(); // Prikaz 2D vektorja za (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Izhod:

 1 2 3 4 5 7 8>

Prehod vektorja vektorjev

Vektor vektorjev je mogoče prečkati z uporabo iteratorji v C++. Naslednja koda prikazuje prečkanje 2D vektorja.

Sintaksa:

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

Spodaj je primer za prikaz prehoda v vektorju vektorjev.


algoritem za krožno razporejanje



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

>

>

Izhod:

 1 2 3 4 5 6 7 8 9>