Veľkosť vektora je možné zmenšiť pomocou rôznych vstavaných funkcií C ++. Funkcia pop_back () je jednou z nich. Slúži na odstránenie posledného prvku vektora zozadu a zmenšenie veľkosti vektora o 1. Ale posledný prvok vektora nie je odstránený natrvalo ako funkcia erase (). Rôzne spôsoby použitia tejto funkcie boli vysvetlené v tomto návode.
Syntax:
vektor::pop_back();Táto funkcia nemá žiadny argument a nič nevracia.
Predpoklad:
Pred kontrolou príkladov tohto tutoriálu musíte skontrolovať, či je kompilátor g ++ v systéme nainštalovaný alebo nie. Ak používate kód Visual Studio, nainštalujte si potrebné rozšírenia na kompiláciu zdrojového kódu C ++ na vytvorenie spustiteľného kódu. Tu bola aplikácia Visual Studio Code použitá na kompiláciu a spustenie kódu C ++. Spôsoby, ako zmenšiť veľkosť vektora pomocou funkcie pop_back (), ukázali v ďalšej časti tohto tutoriálu.
Príklad 1: Odstráňte z vektora viac prvkov
Vytvorte súbor C ++ s nasledujúcim kódom na odstránenie dvoch prvkov z vektorového kontajnera zmenšením veľkosti vektora pomocou funkcie pop_back (). V kóde bol deklarovaný vektor s 5 reťazcovými hodnotami. Funkcia pop_back () tu bola volaná dvakrát, aby sa z vektora dočasne odstránili dva posledné prvky a zmenšila sa veľkosť vektora o 2. Obsah vektora sa vytlačil dvakrát pred a po použití funkcie pop_back ().
// Zahrňte potrebné knižnice
#zahrnúť
#zahrnúť
použitím priestor mienhodiny;
intHlavná() {
// Deklarovanie vektora hodnôt reťazca
vektor<reťazec>kvety= {'Rose','Lity',„Nechtík“,„Tulipán“,„Water Liiy“};
náklady << „Hodnoty vektora: n';
// Opakovaním vektora pomocou slučky vytlačíte hodnoty
pre(inti= 0;i<kvety.veľkosť(); ++i)
náklady <<kvety[i] << '';
náklady << ' n';
// Odstráňte z vektora posledné dve hodnoty
kvety.pop_back();
kvety.pop_back();
náklady << ' nHodnoty vektora po odstránení: n';
// Opakovaním vektora pomocou slučky vytlačte hodnoty
pre(inti= 0;i<kvety.veľkosť(); ++i)
náklady <<kvety[i] << '';
náklady << ' n';
vrátiť sa 0;
}
Výkon:
Po spustení vyššie uvedeného kódu sa zobrazí nasledujúci výstup.
Príklad 2: Vytvorte nový vektor z iného vektora
Vytvorením súboru C ++ s nasledujúcim kódom vložíte konkrétne hodnoty do prázdneho vektora z iného vektora odstránením prvkov pomocou funkcie pop_back (). V kóde bol deklarovaný vektor s 8 celými číslami a prázdny vektor celého typu. Smyčka „while“ sa použila na iteráciu každého prvku prvého vektora a vloženie prvku do nového vektora, ak je číslo deliteľné číslom 2. Vypočítal sa tu aj súčet všetkých párnych čísel. Každý prvok prvého vektora bude odstránený funkciou pop_back () v každej iterácii slučky, aby sa dosiahol stav ukončenia slučky.
// Zahrňte potrebné knižnice
#zahrnúť
#zahrnúť
použitím priestor mienhodiny;
intHlavná()
{
// Deklarovanie vektora celočíselných údajov
vektor<int>intVector{ 5,9,4,7,2,8,1,3 };
// Deklarujte prázdny vektor
vektor<int>newVector;
náklady << „Hodnoty pôvodného vektora: n';
// Opakovaním vektora pomocou slučky vytlačíte hodnoty
pre(inti= 0;i<intVector.veľkosť(); ++i)
náklady <<intVector[i] << '';
náklady << ' n';
// Inicializujte výsledok
intvýsledok= 0;
// Opakujte slučku, kým sa vektor nevyprázdni
kým(!intVector.prázdny())
{
/ *
Zistite párne čísla, ktoré chcete vložiť do newVector
a vypočítajte súčet párnych čísel
* /
keby (intVector.späť() % 2 == 0)
{
výsledok+=intVector.späť();
newVector.push_back(intVector.späť());
}
// Odstránenie prvku z konca intVactor
intVector.pop_back();
}
náklady << „Hodnoty nového vektora: n';
// Opakovaním vektora pomocou slučky vytlačíte hodnoty
pre(inti= 0;i<newVector.veľkosť(); ++i)
náklady <<newVector[i] << '';
náklady << ' n';
náklady << „Súčet všetkých párnych čísel:“ <<výsledok<< ' n';
vrátiť sa 0;
}
Výkon:
Po spustení vyššie uvedeného kódu sa zobrazí nasledujúci výstup. V prvom vektore boli tri párne čísla. Je ich 8, 2 a 4.
Príklad 3: Skontrolujte, či je alebo nie je odstránený posledný prvok vektora
Už bolo spomenuté, že pop_back () neodstraňuje prvky z vektora natrvalo a prvok odstráni iba znížením veľkosti vektora. Odstránený prvok teda zostane v rovnakej polohe, kým sa veľkosť vektora nezvýši a nenahradí prvok iným prvkom. Vytvorte súbor C ++ s nasledujúcim kódom a skontrolujte, či prvok odstránený funkciou pop_back () existuje alebo nie. Posledná pozícia pôvodného vektora bola vytlačená pred a po použití funkcie pop_back ().
#zahrnúť#zahrnúť
použitím priestor mienhodiny;
intHlavná()
{
// Deklarovanie vektora celočíselných údajov
vektor<int>intVector{ 54,19,46,72,22,83,10,53 };
// Deklarujte prázdny vektor
vektor<int>newVector;
// Deklarujte celočíselnú premennú
intdĺžka;
// Vytlačí posledný prvok na základe veľkosti vektora
dĺžka=intVector.veľkosť();
náklady << 'Aktuálna veľkosť vektora:' <<dĺžka<< ' n';
náklady << „Posledná hodnota vektora pred odstránením:“ <<intVector[dĺžka-1] << ' n';
// Odstráňte prvok z konca vektora
intVector.pop_back();
// Po odstránení vytlačí posledný prvok na základe veľkosti vektora
dĺžka=intVector.veľkosť();
náklady << 'Aktuálna veľkosť vektora:' <<dĺžka<< ' n';
náklady << „Posledná hodnota vektora po odstránení:“ <<intVector[dĺžka] << ' n';
vrátiť sa 0;
}
Výkon:
Po spustení vyššie uvedeného kódu sa zobrazí nasledujúci výstup. Výstup ukazuje, že veľkosť vektora je zmenšená o 1, ale prvok poslednej polohy pôvodného vektora stále existuje.
Záver:
V tomto návode boli pomocou jednoduchých príkladov popísané tri rôzne použitia funkcie pop_back (). Hlavný účel použitia tejto funkcie bude čitateľom objasnený po precvičení príkladov tohto tutoriálu.