logo

Wektor wektorów w C++ STL z przykładami

Warunek wstępny: Wektory w C++ STL

Wektory są znane jako tablice dynamiczne z możliwością automatycznej zmiany rozmiaru po wstawieniu lub usunięciu elementu, a ich przechowywanie jest obsługiwane automatycznie przez kontener.

Wektor wektorów jest wektor dwuwymiarowy ze zmienną liczbą wierszy, gdzie każdy wiersz jest wektorem. Każdy indeks wektora przechowuje wektor, który można przeglądać i do którego można uzyskać dostęp za pomocą iteratory . Jest podobny do Tablica wektorów ale o właściwościach dynamicznych.



Składnia:

vector vec;>

Przykład:

przycinanie alfa beta
 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>

Wstawienie w wektorze wektorów

Elementy można wstawiać do wektora za pomocą push_back() funkcja C++ STL.

Poniższy przykład ilustruje operację wstawiania w wektorze wektorów. Kod tworzy wektor 2D za pomocą funkcji push_back(), a następnie wyświetla macierz.

Składnia:

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

Przykład 1:

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

Funkcja ta wstawia wektor v2 do wektora wektorów v1. Dlatego v1 staje się {{1, 2, 3} }.

Przykład 2:

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

Ta funkcja wstawia wektor v2 do istniejącego wektora wektorów v1 i v1 staje się v1 = {{1, 2, 3}, {4, 5, 6} }

polecenie seda

Poniżej znajduje się przykład demonstrujący wstawianie wektorów do wektora.




// 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; // Elementy do wstawienia w kolumnie int num = 10; // Wstawianie elementów do wektora for (int i = 0; i // Wektor do przechowywania wektora elementów kolumn v1; for (int j = 0; j v1.push_back(num); num += 5; } // Powrót powyżej wektora 1D // aby utworzyć wektor 2D vec.push_back(v1); } // Wyświetlanie wektora 2D dla (int i = 0; i for (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Wyjście:

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

Usunięcie lub usunięcie wektora wektorów

Elementy można usunąć z wektora wektorów za pomocą pop_back() funkcja C++ STL.

Poniższy przykład ilustruje operację usuwania w wektorze wektorów. Kod usuwa elementy z wektora 2D za pomocą funkcji pop_back(), a następnie wyświetla macierz.
Składnia:

vector_name[row_position].pop_back()>

Przykład 1: Niech wektor wektorów będzie wektorem v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Ta funkcja usuwa element 9 z wektora ostatniego wiersza. Dlatego v staje się { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

Przykład 2:

Numer 1 milion
 v[1].pop_back()>

Ta funkcja usuwa element 6 z ostatniego wektora drugiego wiersza. Dlatego v staje się { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Poniżej znajduje się przykład demonstrujący usuwanie wektorów z wektora.




// 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 } }; // Usuwanie elementów z // ostatniego wiersza wektora vec[2].pop_back(); vec[1].pop_back(); // Wyświetlanie wektora 2D dla (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

co to jest wyrażenie regularne Java

>

>

Wyjście:

 1 2 3 4 5 7 8>

Przechodzenie wektora wektorów

Po wektorze wektorów można poruszać się za pomocą iteratory w C++. Poniższy kod ilustruje przechodzenie wektora 2D.

Składnia:

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

Poniżej znajduje się przykład ilustrujący przechodzenie w wektorze wektorów.




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

wady internetu
>

>

Wyjście:

 1 2 3 4 5 6 7 8 9>