logo

Vektoru vektors C++ STL ar piemēriem

Priekšnosacījums: Vektori C++ STL

Vektori tiek dēvēti par dinamiskiem masīviem ar iespēju automātiski mainīt izmērus, kad elements tiek ievietots vai dzēsts, un to glabāšanu automātiski apstrādā konteiners.



Vektoru vektors ir divdimensiju vektors ar mainīgu rindu skaitu, kur katra rinda ir vektors. Katrs vektora indekss saglabā vektoru, kuru var šķērsot un kuram var piekļūt, izmantojot iteratori . Tas ir līdzīgs an Vektoru masīvs bet ar dinamiskām īpašībām.

Sintakse:

vector vec;>

Piemērs:



 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>

Ievietošana vektoru vektorā

Elementus var ievietot vektorā, izmantojot atgrūst() C++ STL funkcija.

Zemāk redzamais piemērs parāda ievietošanas darbību vektoru vektorā. Kods izveido 2D vektoru, izmantojot funkciju push_back(), un pēc tam parāda matricu.



Sintakse:

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

1. piemērs:

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

Šī funkcija nospiež vektoru v2 vektorā v1. Tāpēc v1 kļūst par {{1, 2, 3}}.

2. piemērs:

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

Šī funkcija nospiež vektoru v2 esošajā vektoru v1 vektorā un v1 kļūst par v1 = { {1, 2, 3}, {4, 5, 6} }

atlases kārtot java

Zemāk ir piemērs, lai demonstrētu ievietošanu vektoru vektorā.




// 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; // Ailē ievietojamie elementi int num = 10; // Elementu ievietošana vektorā for (int i = 0; i // Vektors kolonnu elementu vektora saglabāšanai v1; for (int j = 0; j v1.push_back(num) (int i = 0; i for (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Izvade:

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

Noņemšana vai dzēšana vektoru vektorā

Elementus var noņemt no vektoru vektora, izmantojot pop_back() C++ STL funkcija.

Zemāk redzamais piemērs parāda noņemšanas darbību vektoru vektorā. Kods noņem elementus no 2D vektora, izmantojot funkciju pop_back() un pēc tam parāda matricu.
Sintakse:

vector_name[row_position].pop_back()>

1. piemērs: Lai vektoru vektors ir vektors v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Šī funkcija noņem elementu 9 no pēdējās rindas vektora. Tāpēc v kļūst par {{1, 2, 3}, {4, 5, 6}, {7, 8}}.

2. piemērs:

 v[1].pop_back()>

Šī funkcija noņem elementu 6 no pēdējās otrās rindas vektora. Tāpēc v kļūst par {{1, 2, 3}, {4, 5}, {7, 8}}.

Tālāk ir sniegts piemērs, lai demonstrētu noņemšanu no vektoru vektora.




linkedlist un masīvu saraksts

// 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 } }; // Elementu noņemšana no // vektora vektora pēdējās rindas[2].pop_back(); vec[1].pop_back(); // Parāda 2D vektoru (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Izvade:

 1 2 3 4 5 7 8>

Vektoru vektora šķērsošana

Vektoru vektoru var šķērsot, izmantojot iteratori valodā C++. Šis kods parāda 2D vektora šķērsošanu.

Sintakse:

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

Zemāk ir piemērs, lai demonstrētu šķērsošanu vektoru vektorā.




// 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 } }; // Tiek parādīts 2D vektors (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Izvade:

 1 2 3 4 5 6 7 8 9>