logo

Vektor af vektorer i C++ STL med eksempler

Forudsætning: Vektorer i C++ STL

Vektorer er kendt som dynamiske arrays med evnen til at ændre størrelsen på sig selv automatisk, når et element indsættes eller slettes, og deres lagring håndteres automatisk af containeren.



java forbedret loop

Vektor af vektorer er en todimensionel vektor med et variabelt antal rækker, hvor hver række er vektor. Hvert indeks af vektor gemmer en vektor, som kan gennemløbes og tilgås vha iteratorer . Det ligner en Array af vektorer men med dynamiske egenskaber.

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>

Indsættelse i vektor af vektorer

Elementer kan indsættes i en vektor ved hjælp af skub tilbage() funktion af C++ STL.

Nedenstående eksempel demonstrerer indsættelsesoperationen i en vektor af vektorer. Koden opretter en 2D-vektor ved at bruge push_back()-funktionen og viser derefter matrixen.



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 funktion skubber vektor v2 ind i vektor af vektorer v1. Derfor bliver v1 til { {1, 2, 3} }.

Eksempel 2:

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

Denne funktion skubber vektor v2 ind i eksisterende vektor af vektorer v1 og v1 bliver v1 = { {1, 2, 3}, {4, 5, 6} }

Nedenfor er eksemplet for at demonstrere indsættelse i en vektor af 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, der skal indsættes i kolonne int num = 10; // Indsættelse af elementer i vektor for (int i = 0; i // Vektor for at gemme kolonneelementer vektor v1; for (int j = 0; j v1.push_back(num); num += 5; } // Skub tilbage over 1D vektor // for at skabe 2D vektoren vec.push_back(v1); } // Visning af 2D vektor for (int i = 0; i for (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

find min iphone fra Android

>

>

Produktion:

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

Fjernelse eller sletning i en vektor af vektorer

Elementer kan fjernes fra en vektor af vektorer ved hjælp af pop_back() funktion af C++ STL.

Nedenstående eksempel demonstrerer fjernelsesoperationen i en vektor af vektorer. Koden fjerner elementer fra en 2D-vektor ved at bruge pop_back()-funktionen og viser derefter matrixen.
Syntaks:

vector_name[row_position].pop_back()>

Eksempel 1: Lad vektorens vektor være vektor v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Denne funktion fjerner element 9 fra den sidste rækkevektor. Derfor bliver v { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Eksempel 2:

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

Denne funktion fjerner element 6 fra den sidste anden rækkevektor. Derfor bliver v { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Nedenfor er eksemplet for at demonstrere fjernelse fra en vektor af 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 } }; // Fjernelse af elementer fra // sidste række af 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; }>

>

>

Produktion:

 1 2 3 4 5 7 8>

Gennemgang af en vektor af vektorer

Vektoren af ​​vektorer kan krydses ved hjælp af iteratorer i C++. Følgende kode demonstrerer gennemgangen af ​​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 til at demonstrere traversal i en vektor af 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; }>

pandaer skaber dataramme
>

>

Produktion:

 1 2 3 4 5 6 7 8 9>