logo

Vettore di vettori in C++ STL con esempi

Prerequisito: Vettori in C++ STL

Vettori sono noti come array dinamici con la capacità di ridimensionarsi automaticamente quando un elemento viene inserito o eliminato, e la loro archiviazione viene gestita automaticamente dal contenitore.



Vettore di vettori è un vettore bidimensionale con un numero variabile di righe dove ciascuna riga è vettoriale. Ciascun indice di vettore memorizza un vettore che può essere attraversato e accessibile utilizzando iteratori . È simile ad un Matrice di vettori ma con proprietà dinamiche.

Sintassi:

coda di Giava
vector vec;>

Esempio:



 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>

Inserimento in Vector di Vettori

Gli elementi possono essere inseriti in un vettore utilizzando il comando respingere() funzione di C++ STL.

L'esempio seguente mostra l'operazione di inserimento in un vettore di vettori. Il codice crea un vettore 2D utilizzando la funzione push_back() e quindi visualizza la matrice.



Sintassi:

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

Esempio 1:

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

Questa funzione inserisce il vettore v2 nel vettore dei vettori v1. Pertanto v1 diventa { {1, 2, 3} }.

Esempio 2:

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

Questa funzione inserisce il vettore v2 nel vettore esistente dei vettori v1 e v1 diventa v1 = { {1, 2, 3}, {4, 5, 6} }

Di seguito è riportato l'esempio per dimostrare l'inserimento in un vettore di vettori.




// 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 da inserire nella colonna int num = 10; // Inserimento di elementi in vector for (int i = 0; i // Vector per memorizzare gli elementi della colonna vector v1; for (int j = 0; j v1.push_back(num); num += 5; } // Spingendo indietro sopra il vettore 1D // per creare il vettore 2D vec.push_back(v1); } // Visualizzando il vettore 2D for (int i = 0; i for (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Produzione:

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

Rimozione o cancellazione in un vettore di vettori

Gli elementi possono essere rimossi da un vettore di vettori utilizzando il comando pop_back() funzione di C++ STL.

L'esempio seguente mostra l'operazione di rimozione in un vettore di vettori. Il codice rimuove gli elementi da un vettore 2D utilizzando la funzione pop_back() e quindi visualizza la matrice.
Sintassi:

vector_name[row_position].pop_back()>

Esempio 1: Sia il vettore dei vettori v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Questa funzione rimuove l'elemento 9 dall'ultimo vettore di riga. Pertanto v diventa { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Esempio 2:

 v[1].pop_back()>

Questa funzione rimuove l'elemento 6 dall'ultimo secondo vettore di riga. Pertanto v diventa { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Di seguito è riportato l'esempio per dimostrare la rimozione da un vettore di vettori.




// 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 } }; // Rimozione di elementi dall' // ultima riga del vettore vec[2].pop_back(); vec[1].pop_back(); // Visualizzazione del vettore 2D per (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

carattere di fuga Java

>

>

Produzione:

 1 2 3 4 5 7 8>

Attraversamento di un vettore di vettori

Il vettore dei vettori può essere attraversato utilizzando il iteratori nel C++. Il codice seguente illustra l'attraversamento di un vettore 2D.

Sintassi:

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

Di seguito è riportato l'esempio per dimostrare l'attraversamento in un vettore di vettori.




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

>

>

Produzione:

 1 2 3 4 5 6 7 8 9>