logo

Vektor av vektorer i C++ STL med eksempler

Forutsetning: Vektorer i C++ STL

Vektorer er kjent som dynamiske matriser med muligheten til å endre størrelsen på seg selv automatisk når et element settes inn eller slettes, og lagringen deres håndteres automatisk av beholderen.

automatteori

Vektor av vektorer er en todimensjonal vektor med et variabelt antall rader der hver rad er vektor. Hver indeks av vektor lagrer en vektor som kan krysses og få tilgang til ved hjelp av iteratorer . Det ligner på en En rekke vektorer men med dynamiske egenskaper.



Syntaks:

vector vec;>

Eksempel:

 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>

Innsetting i vektor av vektorer

Elementer kan settes inn i en vektor ved hjelp av push_back() funksjonen til C++ STL.

Eksempelet nedenfor viser innsettingsoperasjonen i en vektor av vektorer. Koden lager en 2D-vektor ved å bruke push_back()-funksjonen og viser deretter matrisen.

Syntaks:

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

Eksempel 1:

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

Denne funksjonen skyver vektor v2 inn i vektor av vektorer v1. Derfor blir v1 { {1, 2, 3} }.

Eksempel 2:

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

Denne funksjonen skyver vektor v2 inn i eksisterende vektor av vektorer v1 og v1 blir v1 = { {1, 2, 3}, {4, 5, 6} }

Nedenfor er eksemplet for å demonstrere innsetting i en vektor av vektorer.




// 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; // Elementer som skal settes inn i kolonne int num = 10; // Setter inn elementer i vektor for (int i = 0; i // Vektor for å lagre kolonneelementer vektor v1; for (int j = 0; j v1.push_back(num); num += 5; } // Skyver tilbake over 1D-vektoren // for å lage 2D-vektoren vec.push_back(v1); } // Viser 2D-vektoren for (int i = 0; i for (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

finne min iphone fra Android

>

>

Produksjon:

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

Fjerning eller sletting i en vektor av vektorer

Elementer kan fjernes fra en vektor av vektorer ved å bruke pop_back() funksjonen til C++ STL.

Nedenfor eksempel demonstrerer fjerningsoperasjonen i en vektor av vektorer. Koden fjerner elementer fra en 2D-vektor ved å bruke pop_back()-funksjonen og viser deretter matrisen.
Syntaks:

vector_name[row_position].pop_back()>

Eksempel 1: La vektoren til vektorer være vektor v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Denne funksjonen fjerner element 9 fra den siste radvektoren. Derfor blir v { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Eksempel 2:

konvertere streng til int java
 v[1].pop_back()>

Denne funksjonen fjerner element 6 fra den siste andre radvektoren. Derfor blir v { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Nedenfor er eksemplet for å demonstrere fjerning fra en vektor av vektorer.




// 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 } }; // Fjerning av elementer fra // siste rad i vektoren vec[2].pop_back(); vec[1].pop_back(); // Viser 2D-vektoren for (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Produksjon:

 1 2 3 4 5 7 8>

Traversering av en vektor av vektorer

Vektoren til vektorer kan krysses ved å bruke iteratorer i C++. Følgende kode demonstrerer kryssingen av en 2D-vektor.

Syntaks:

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

Nedenfor er eksemplet for å demonstrere traversering i en vektor av vektorer.




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

innkapsling java
>

>

Produksjon:

 1 2 3 4 5 6 7 8 9>