Velikost vektorja lahko zmanjšate z uporabo različnih vgrajenih funkcij C ++. Funkcija pop_back () je ena izmed njih. Uporablja se za odstranitev zadnjega elementa vektorja z zadnje strani in zmanjšanje velikosti vektorja za 1. Toda zadnji element vektorja se ne odstrani trajno, kot je funkcija erase (). V tej vadnici so bile razložene različne uporabe te funkcije.
Sintaksa:
vektor::pop_back();Ta funkcija nima nobenega argumenta in ne vrne ničesar.
Predpogoj:
Preden preverite primere te vadnice, morate preveriti, ali je prevajalnik g ++ nameščen ali ne v sistemu. Če uporabljate Visual Studio Code, namestite potrebne razširitve za sestavljanje izvorne kode C ++ za ustvarjanje izvedljive kode. Tu je bila aplikacija Visual Studio Code uporabljena za sestavljanje in izvajanje kode C ++. Načini za zmanjšanje velikosti vektorja s funkcijo pop_back () so prikazani v naslednjem delu te vadnice.
Primer 1: Odstranite več elementov iz vektorja
Ustvarite datoteko C ++ z naslednjo kodo, da odstranite dva elementa iz vektorskega vsebnika z zmanjšanjem velikosti vektorja s funkcijo pop_back (). V kodi je bil razglašen vektor 5 niznih vrednosti. Tukaj je bila dvakrat poklicana funkcija pop_back (), ki je začasno odstranila dva zadnja elementa iz vektorja in zmanjšala velikost vektorja za 2. Vsebina vektorja je bila pred uporabo funkcije pop_back () dvakrat natisnjena.
// Vključi potrebne knjižnice
#vključi
#vključi
z uporabo imenski prostorure;
intglavni() {
// Razglasimo vektor vrednosti niza
vektor<vrvica>rože= {'Vrtnica','Lity','Ognjič','Tulipan','Voda Liiy'};
stroški << 'Vrednosti vektorja: n';
// Iteracijo vektorja z uporabo zanke za tiskanje vrednosti
za(intjaz= 0;jaz<rože.velikost(); ++jaz)
stroški <<rože[jaz] << '';
stroški << ' n';
// Odstrani zadnji dve vrednosti iz vektorja
rože.pop_back();
rože.pop_back();
stroški << ' nVrednosti vektorja po odstranitvi: n';
// Iteracijo vektorja z uporabo zanke za tiskanje vrednosti
za(intjaz= 0;jaz<rože.velikost(); ++jaz)
stroški <<rože[jaz] << '';
stroški << ' n';
vrnitev 0;
}
Izhod:
Po izvedbi zgornje kode se prikaže naslednji izhod.
Primer 2: Ustvarite nov vektor iz drugega vektorja
Ustvarite datoteko C ++ z naslednjo kodo, da vstavite določene vrednosti v prazen vektor iz drugega vektorja, tako da odstranite elemente s funkcijo pop_back (). V kodi sta bila deklarirana vektor 8 celih števil in prazen vektor celega števila. Zanka 'while' je bila uporabljena za ponovitev vsakega elementa prvega vektorja in vstavljanje elementa v novi vektor, če je število deljivo z 2. Tu je bila izračunana tudi vsota vseh parnih števil. Vsak element prvega vektorja bo funkcija pop_back () odstranila v vsaki iteraciji zanke, da bi dosegla končni pogoj zanke.
// Vključi potrebne knjižnice
#vključi
#vključi
z uporabo imenski prostorure;
intglavni()
{
// Razglasimo vektor celobrojnih podatkov
vektor<int>intVector{ 5,9,4,7,2,8,1,3 };
// Razglasimo prazen vektor
vektor<int>newVector;
stroški << 'Vrednosti izvirnega vektorja: n';
// Iteracijo vektorja z uporabo zanke za tiskanje vrednosti
za(intjaz= 0;jaz<intVector.velikost(); ++jaz)
stroški <<intVector[jaz] << '';
stroški << ' n';
// Začetni rezultat
intrezultat= 0;
// Iteracijo zanke, dokler vektor ne postane prazen
medtem(!intVector.prazno())
{
/ *
Poiščite parne številke, ki jih želite vstaviti v newVector
in izračunaj vsoto parnih števil
* /
če (intVector.nazaj() % 2 == 0)
{
rezultat+=intVector.nazaj();
newVector.porini nazaj(intVector.nazaj());
}
// Odstranimo element s konca intVactorja
intVector.pop_back();
}
stroški << 'Vrednosti novega vektorja: n';
// Iteracijo vektorja z uporabo zanke za tiskanje vrednosti
za(intjaz= 0;jaz<newVector.velikost(); ++jaz)
stroški <<newVector[jaz] << '';
stroški << ' n';
stroški << 'Vsota vseh parnih števil:' <<rezultat<< ' n';
vrnitev 0;
}
Izhod:
Po izvedbi zgornje kode se prikaže naslednji izhod. V prvem vektorju so bile tri parne številke. Obstaja 8, 2 in 4.
Primer 3: Preverite, ali je zadnji element vektorja odstranjen ali ne
Prej je bilo omenjeno, da pop_back () ne odstrani elementov trajno iz vektorja in odstrani element samo z zmanjšanjem velikosti vektorja. Tako odstranjeni element ostane v istem položaju, dokler se velikost vektorja ne poveča in element zamenja z drugim. Ustvarite datoteko C ++ z naslednjo kodo, da preverite, ali element, ki ga je odstranila funkcija pop_back (), obstaja ali ne. Zadnji položaj izvirnega vektorja je bil natisnjen pred in po uporabi funkcije pop_back ().
#vključi#vključi
z uporabo imenski prostorure;
intglavni()
{
// Razglasimo vektor celobrojnih podatkov
vektor<int>intVector{ 54,19,46,72,22,83,10,53 };
// Razglasimo prazen vektor
vektor<int>newVector;
// Razglasi celoštevilsko spremenljivko
intdolžino;
// Natisni zadnji element glede na velikost vektorja
dolžino=intVector.velikost();
stroški << 'Trenutna velikost vektorja:' <<dolžino<< ' n';
stroški << 'Zadnja vrednost vektorja pred odstranitvijo:' <<intVector[dolžino-1] << ' n';
// Odstranimo element s konca vektorja
intVector.pop_back();
// Po odstranitvi natisnemo zadnji element glede na velikost vektorja
dolžino=intVector.velikost();
stroški << 'Trenutna velikost vektorja:' <<dolžino<< ' n';
stroški << 'Zadnja vrednost vektorja po odstranitvi:' <<intVector[dolžino] << ' n';
vrnitev 0;
}
Izhod:
Po izvedbi zgornje kode se prikaže naslednji izhod. Izhod kaže, da se velikost vektorja zmanjša za 1, vendar element zadnjega položaja prvotnega vektorja še vedno obstaja.
Zaključek:
Tri preproste primere funkcije pop_back () smo opisali v tej vadnici. Glavni namen uporabe te funkcije bo bralcem jasen po vadbi primerov te vadnice.