logo

Vector de vectors en C++ STL amb exemples

Requisit previ: Vectors en C++ STL

Vectors es coneixen com a matrius dinàmiques amb la capacitat de redimensionar-se automàticament quan s'insereix o s'elimina un element, amb el seu emmagatzematge gestionat automàticament pel contenidor.



Vector de Vectors és un vector bidimensional amb un nombre variable de files on cada fila és vectorial. Cada índex de vector emmagatzema un vector al qual es pot recórrer i accedir mitjançant iteradors . És semblant a un Matriu de Vectors però amb propietats dinàmiques.

Sintaxi:

vector vec;>

Exemple:



 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>

Inserció en Vector de Vectors

Els elements es poden inserir en un vector utilitzant fer retrocedir() funció de C++ STL.

L'exemple següent mostra l'operació d'inserció en un vector de vectors. El codi crea un vector 2D mitjançant la funció push_back() i després mostra la matriu.



Sintaxi:

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

Exemple 1:

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

Aquesta funció empeny el vector v2 al vector de vectors v1. Per tant, v1 es converteix en {{1, 2, 3} }.

Exemple 2:

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

Aquesta funció empeny el vector v2 al vector existent de vectors v1 i v1 es converteix en v1 = {{1, 2, 3}, {4, 5, 6} }

A continuació es mostra l'exemple per demostrar la inserció en un vector de vectors.




// 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; // Elements a inserir a la columna int num = 10; // Inserció d'elements al vector per a (int i = 0; i // Vector per emmagatzemar elements de columna vector v1; for (int j = 0; j v1.push_back(núm); num += 5; } // Enrere per sobre del vector 1D // per crear el vector 2D vec.push_back(v1); } // Mostra el vector 2D per (int i = 0; i per a (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Sortida:

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

Eliminació o eliminació d'un vector de vectors

Els elements es poden eliminar d'un vector de vectors utilitzant el pop_back() funció de C++ STL.

L'exemple següent mostra l'operació d'eliminació en un vector de vectors. El codi elimina elements d'un vector 2D mitjançant la funció pop_back() i després mostra la matriu.
Sintaxi:

error d'execució
vector_name[row_position].pop_back()>

Exemple 1: Sigui el vector de vectors el vector v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Aquesta funció elimina l'element 9 de l'últim vector fila. Per tant, v es converteix en {{ 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Exemple 2:

 v[1].pop_back()>

Aquesta funció elimina l'element 6 de l'últim vector de la segona fila. Per tant, v es converteix en {{ 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

A continuació es mostra l'exemple per demostrar l'eliminació d'un vector de vectors.




// 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 } }; // Eliminació d'elements de la // última fila del vector vec[2].pop_back(); vec[1].pop_back(); // Mostra el vector 2D per a (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Sortida:

 1 2 3 4 5 7 8>

Travessa d'un Vector de Vectors

El vector de vectors es pot recórrer utilitzant el iteradors en C++. El codi següent mostra el recorregut d'un vector 2D.

Sintaxi:

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

A continuació es mostra l'exemple per demostrar el recorregut en un vector de vectors.




exemples d'autòmats dfa

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

>

>

Sortida:

 1 2 3 4 5 6 7 8 9>