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