logo

Vector de vectores en C++ STL con ejemplos

Requisito previo: Vectores en C++ STL

Vectores Se conocen como matrices dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, siendo su almacenamiento manejado automáticamente por el contenedor.



Vector de vectores es un vector bidimensional con un número variable de filas donde cada fila es un vector. Cada índice de vector almacena un vector que se puede atravesar y acceder usando iteradores . Es similar a un Matriz de vectores pero con propiedades dinámicas.

Sintaxis:

vector vec;>

Ejemplo:



 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ón en Vector de Vectores

Los elementos se pueden insertar en un vector usando el hacer retroceder() Función de C++ STL.

El siguiente ejemplo demuestra la operación de inserción en un vector de vectores. El código crea un vector 2D usando la función push_back() y luego muestra la matriz.



Sintaxis:

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

Ejemplo 1:

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

Esta función empuja el vector v2 al vector de vectores v1. Por lo tanto v1 se convierte en { {1, 2, 3} }.

Ejemplo 2:

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

Esta función empuja el vector v2 al vector existente de vectores v1 y v1 se convierte en v1 = { {1, 2, 3}, {4, 5, 6} }

A continuación se muestra el ejemplo para demostrar la inserción en un vector de vectores.


java reemplazar todo



// 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; // Elementos a insertar en la columna int num = 10; // Insertar elementos en el vector for (int i = 0; i // Vector para almacenar los elementos de la columna vector v1; for (int j = 0; j v1.push_back(num); num += 5; } // Empujando hacia atrás por encima del vector 1D // para crear el vector 2D vec.push_back(v1); } // Mostrando el vector 2D para (int i = 0; i para (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Producción:

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

Eliminación o eliminación en un vector de vectores

Los elementos se pueden eliminar de un vector de vectores usando el pop_back() Función de C++ STL.

El siguiente ejemplo demuestra la operación de eliminación en un vector de vectores. El código elimina elementos de un vector 2D usando la función pop_back() y luego muestra la matriz.
Sintaxis:

vector_name[row_position].pop_back()>

Ejemplo 1: Sea el vector de vectores el vector v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Esta función elimina el elemento 9 del vector de la última fila. Por lo tanto, v se convierte en { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Ejemplo 2:

 v[1].pop_back()>

Esta función elimina el elemento 6 del último vector de segunda fila. Por lo tanto, v se convierte en { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

A continuación se muestra el ejemplo para demostrar la eliminación de un vector de vectores.




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

>

método java anulando

>

Producción:

 1 2 3 4 5 7 8>

Recorrido de un vector de vectores

El vector de vectores se puede recorrer usando el iteradores en C++. El siguiente código demuestra el recorrido de un vector 2D.

Sintaxis:

 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ón se muestra el ejemplo para demostrar el recorrido en un vector de vectores.




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

>

>

Producción:

 1 2 3 4 5 6 7 8 9>