Velikost vektorja je mogoče zmanjšati 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. Vendar zadnji element vektorja ni trajno odstranjen kot funkcija erase(). Različne uporabe te funkcije so bile razložene v tej vadnici.
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 v sistemu ali ne. Če uporabljate Visual Studio Code, namestite potrebne razširitve za prevajanje izvorne kode C++ za ustvarjanje izvedljive kode. Tu je bila za prevajanje in izvajanje kode C++ uporabljena aplikacija Visual Studio Code. 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 tako, da zmanjšate velikost vektorja s funkcijo pop_back(). V kodi je bil deklariran vektor 5 vrednosti niza. Funkcija pop_back() je bila tu dvakrat poklicana, da začasno odstrani dva zadnja elementa iz vektorja in zmanjša velikost vektorja za 2. Vsebina vektorja je bila natisnjena dvakrat pred in po uporabi funkcije pop_back().
//Vključi potrebne knjižnice
#include
#include
uporabo imenski prostor std ;
int glavni ( ) {
//Deklarirajte vektor vrednosti niza
vektor < vrvica > rože = { 'Vrtnica' , 'Lity' , 'Ognjič' , 'tulipan' , 'Vodni lev' } ;
cout << 'Vrednosti vektorja: \n ' ;
//Ponovite vektor z uporabo zanke za tiskanje vrednosti
za ( int jaz = 0 ; jaz < rože. velikost ( ) ; ++ jaz )
cout << rože [ jaz ] << ' ' ;
cout << ' \n ' ;
//Odstrani zadnji dve vrednosti iz vektorja
rože. pop_back ( ) ;
rože. pop_back ( ) ;
cout << ' \n Vrednosti vektorja po odstranitvi: \n ' ;
//Ponovite vektor z uporabo zanke za tiskanje vrednosti
za ( int jaz = 0 ; jaz < rože. velikost ( ) ; ++ jaz )
cout << rože [ jaz ] << ' ' ;
cout << ' \n ' ;
vrnitev 0 ;
}
Izhod:
Po izvedbi zgornje kode se prikaže naslednji rezultat.
Primer-2: Ustvarite nov vektor iz drugega vektorja
Ustvarite datoteko C++ z naslednjo kodo za vstavljanje določenih vrednosti v prazen vektor iz drugega vektorja tako, da odstranite elemente s funkcijo pop_back(). V kodi je deklariran vektor 8 celih števil in prazen vektor celega tipa. Zanka ‘while’ je bila uporabljena za ponavljanje vsakega elementa prvega vektorja in vstavljanje elementa v nov vektor, če je število deljivo z 2. Tukaj je bila izračunana tudi vsota vseh sodih števil. Vsak element prvega vektorja bo funkcija pop_back() odstranila v vsaki ponovitvi zanke, da se doseže končni pogoj zanke.
//Vključi potrebne knjižnice
#include
#include
uporabo imenski prostor std ;
int glavni ( )
{
//Deklarirajte vektor celih podatkov
vektor < int > intVector { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Razglasi prazen vektor
vektor < int > novVektor ;
cout << 'Vrednosti prvotnega vektorja: \n ' ;
//Ponovite vektor z uporabo zanke za tiskanje vrednosti
za ( int jaz = 0 ; jaz < intVector. velikost ( ) ; ++ jaz )
cout << intVector [ jaz ] << ' ' ;
cout << ' \n ' ;
//Inicializiraj rezultat
int rezultat = 0 ;
//Ponavljaj zanko, dokler vektor ne postane prazen
medtem ( ! intVector. prazno ( ) )
{
/*
Poiščite soda števila, ki jih želite vstaviti v newVector
in izračunaj vsoto sodih števil
*/
če ( intVector. nazaj ( ) % 2 == 0 )
{
rezultat + = intVector. nazaj ( ) ;
novVektor. porini nazaj ( intVector. nazaj ( ) ) ;
}
//Odstrani element s konca intVactorja
intVector. pop_back ( ) ;
}
cout << 'Vrednosti novega vektorja: \n ' ;
//Ponovite vektor z uporabo zanke za tiskanje vrednosti
za ( int jaz = 0 ; jaz < novVektor. velikost ( ) ; ++ jaz )
cout << novVektor [ jaz ] << ' ' ;
cout << ' \n ' ;
cout << 'Vsota vseh sodih števil:' << rezultat << ' \n ' ;
vrnitev 0 ;
}
Izhod:
Po izvedbi zgornje kode se prikaže naslednji rezultat. V prvem vektorju so bila tri soda števila. Obstajajo 8, 2 in 4.
Primer-3: Preverite, ali je zadnji element vektorja odstranjen ali ne
Prej je bilo omenjeno, da pop_back() ne odstrani trajno elementov iz vektorja in odstrani element samo z zmanjšanjem velikosti vektorja. Torej odstranjeni element ostane v istem položaju, dokler se velikost vektorja ne poveča in element nadomesti z drugim elementom. 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().
#include#include
uporabo imenski prostor std ;
int glavni ( )
{
//Deklarirajte vektor celih podatkov
vektor < int > intVector { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Razglasi prazen vektor
vektor < int > novVektor ;
//Deklarirajte celoštevilsko spremenljivko
int dolžina ;
//Natisni zadnji element glede na velikost vektorja
dolžina = intVector. velikost ( ) ;
cout << 'Trenutna velikost vektorja:' << dolžina << ' \n ' ;
cout << 'Zadnja vrednost vektorja pred odstranitvijo:' << intVector [ dolžina - 1 ] << ' \n ' ;
//Odstrani element s konca vektorja
intVector. pop_back ( ) ;
//Natisni zadnji element glede na velikost vektorja po odstranitvi
dolžina = intVector. velikost ( ) ;
cout << 'Trenutna velikost vektorja:' << dolžina << ' \n ' ;
cout << 'Zadnja vrednost vektorja po odstranitvi:' << intVector [ dolžina ] << ' \n ' ;
vrnitev 0 ;
}
Izhod:
Po izvedbi zgornje kode se prikaže naslednji rezultat. Izhod pokaže, da je velikost vektorja zmanjšana za 1, vendar element zadnjega položaja prvotnega vektorja še vedno obstaja.
Zaključek:
V tej vadnici so bile na preprostih primerih opisane tri različne uporabe funkcije pop_back(). Glavni namen uporabe te funkcije bo bralcem jasen po vadbi primerov iz te vadnice.