vektori::push_back() ja vektori::pop_back() C++ STL:ssä
Vektorit ovat samat kuin dynaamiset taulukot, joilla on mahdollisuus muuttaa itsensä kokoa automaattisesti, kun elementti lisätään tai poistetaan, ja säilö käsittelee niiden tallennuksen automaattisesti.
vektori::push_back()push_back()-funktiota käytetään elementtien työntämiseen vektoriin takaapäin. Uusi arvo lisätään vektoriin lopussa, nykyisen viimeisen elementin jälkeen ja säiliön kokoa kasvatetaan yhdellä.
Syntaksi:
vectorname.push_back(value) Parameters : The value to be added in the back is passed as the parameter Result : Adds the value mentioned as the parameter to the back of the vector named as vectorname
Esimerkkejä:
Input: myvector = {1, 2, 3, 4, 5}; myvector.push_back(6); Output: 1, 2, 3, 4, 5, 6 Input: myvector = {5, 4, 3, 2, 1}; myvector.push_back(0); Output: 5, 4, 3, 2, 1, 0 Virheet ja poikkeukset
1. Vahva poikkeustakuu – jos poikkeus heitetään, säiliössä ei tapahdu muutoksia.
2. Jos vektori ei tue argumenttina annettua arvoa, se näyttää määrittelemättömän käyttäytymisen.
C++
// CPP program to illustrate> // push_back() function> #include> #include> using> namespace> std;> > int> main()> {> > vector <> int> >myvektori{1,2,3,4,5};>> < < *it;> }> |
Lähtö
1 2 3 4 5 6vektori::pop_back()()
pop_back()-funktiota käytetään pop- tai poistamaan elementtejä vektorista takaapäin. Arvo poistetaan vektorista lopusta ja säiliön kokoa pienennetään yhdellä.
Syntaksi :
vectorname.pop_back() Parameters : No parameters are passed Result : Removes the value present at the end or back of the given vector named as vectorname
Esimerkkejä:
Input : myvector = {1, 2, 3, 4, 5}; myvector.pop_back(); Output :1, 2, 3, 4 Input : myvector = {5, 4, 3, 2, 1}; myvector.pop_back(); Output :5, 4, 3, 2 Virheet ja poikkeukset
1. No-Throw-Guarantee – Jos säiliö ei ole tyhjä, toiminto ei koskaan anna poikkeuksia.
2. Jos vektori on tyhjä, se näyttää määrittelemättömän käyttäytymisen.
C++
// CPP program to illustrate> // pop_back() function> #include> #include> using> namespace> std;> > int> main()> {> > vector <> int> >myvektori{1,2,3,4,5};>> < < *it;> }> |
Lähtö
1 2 3 4
Poistaako pop_back() arvot elementtien mukana?
Kun pop_back()-funktiota kutsutaan, viimeinen elementti poistetaan, arvot ja elementtejä ovat yksi sama asia tässä tapauksessa. Tallennetun objektin tuhoaja kutsutaan ja vektorin pituus poistetaan 1:llä. Jos säiliön kapasiteettia ei vähennetä, voit silti käyttää edellistä muistipaikkaa, mutta tässä tapauksessa ei ole hyötyä jo avattua elementti, koska se johtaa an määrittelemätön käytös .
Sovellus: push_back() ja pop_back()
Kun vektori on tyhjä, lisää siihen kokonaisluvut push_back-funktiolla ja laske sitten sen koko.
Input : 1, 2, 3, 4, 5, 6 Output : 6
Algoritmi
1. Lisää elementtejä vektoriin push_back-funktiolla
2. Tarkista, onko vektorin koko 0, jos ei, suurenna laskurimuuttujaa, joka on alustettu 0:ksi, ja paina takaisin-elementtiä.
3. Toista tämä vaihe, kunnes vektorin kooksi tulee 0.
4. Tulosta muuttujan lopullinen arvo.
C++
// CPP program to illustrate> // Application of push_back and pop_back function> #include> #include> using> namespace> std;> > int> main()> {> > int> count = 0;> > vector <> int> >myvektori;>> |