logo

Vektorių vektorius C++ STL su pavyzdžiais

Būtina sąlyga: Vektoriai C++ STL

Vektoriai yra žinomi kaip dinaminiai masyvai, turintys galimybę automatiškai keisti dydį, kai elementas įterpiamas arba ištrintas, o jų saugojimą automatiškai tvarko konteineris.



Vektorių vektorius yra dvimatis vektorius su kintamu eilučių skaičiumi, kur kiekviena eilutė yra vektorius. Kiekvienas vektoriaus indeksas saugo vektorių, kurį galima pereiti ir pasiekti naudojant iteratoriai . Jis panašus į an Vektorių masyvas bet su dinaminėmis savybėmis.

Sintaksė:

vector vec;>

Pavyzdys:



 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>

Įterpimas į vektorių vektorių

Elementai gali būti įterpti į vektorių naudojant pastumti atgal() C++ STL funkcija.

Žemiau pateiktame pavyzdyje parodyta įterpimo operacija vektorių vektoryje. Kodas sukuria 2D vektorių, naudodamas funkciją push_back() ir tada rodo matricą.



string substring java

Sintaksė:

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

1 pavyzdys:

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

Ši funkcija stumia vektorių v2 į vektorių v1 vektorių. Todėl v1 tampa { {1, 2, 3} }.

2 pavyzdys:

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

Ši funkcija perkelia vektorių v2 į esamą vektorių v1 vektorių ir v1 tampa v1 = { {1, 2, 3}, {4, 5, 6} }

Žemiau pateikiamas pavyzdys, rodantis įterpimą į vektorių vektorių.




veikimo testavimas

// 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; // Elementai, kuriuos reikia įterpti į stulpelį int num = 10; // Elementų įterpimas į vektorių for (int i = 0; i // Vektorius stulpelio elementų vektoriui saugoti v1; for (int j = 0; j v1.push_back(num); num += 5; } // Pastumkite atgal virš 1D vektoriaus // kad būtų sukurtas 2D vektorius vec.push_back(v1); } // 2D vektoriaus rodymas (int i = 0; i for (int j = 0; j cout<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

Išvestis:

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

Pašalinimas arba ištrynimas vektorių vektoriuose

Elementai gali būti pašalinti iš vektorių vektoriaus naudojant pop_back() C++ STL funkcija.

Žemiau pateiktame pavyzdyje parodyta pašalinimo operacija vektorių vektoriuje. Kodas pašalina elementus iš 2D vektoriaus naudodamas funkciją pop_back() ir tada parodo matricą.
Sintaksė:

vector_name[row_position].pop_back()>

1 pavyzdys: Tegul vektorių vektorius yra vektorius v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

Ši funkcija pašalina 9 elementą iš paskutinės eilutės vektoriaus. Todėl v tampa { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }.

2 pavyzdys:

tinklas ir internetas
 v[1].pop_back()>

Ši funkcija pašalina 6 elementą iš paskutinės antros eilutės vektoriaus. Todėl v tampa { { 1, 2, 3 }, { 4, 5 }, { 7, 8 } }.

Žemiau pateikiamas pavyzdys, rodantis pašalinimą iš vektorių vektoriaus.




// 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 } }; // Elementų pašalinimas iš // paskutinės vektoriaus veco [2] eilutės.pop_back(); vec[1].pop_back(); // Rodomas 2D vektorius, skirtas (int i = 0; i<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

Išvestis:

 1 2 3 4 5 7 8>

Vektorių vektoriaus perėjimas

Vektorių vektorių galima pereiti naudojant iteratoriai C++ kalboje. Šis kodas parodo 2D vektoriaus perėjimą.

Sintaksė:

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

Žemiau pateikiamas pavyzdys, rodantis, kad vektorių vektorius vyksta skersai.




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

centruoti vaizdus css
>

>

Išvestis:

 1 2 3 4 5 6 7 8 9>