Velikost vektoru lze zmenšit pomocí různých vestavěných funkcí C ++. Funkce pop_back () je jednou z nich. Slouží k odebrání posledního prvku vektoru zezadu a zmenšení velikosti vektoru o 1. Ale poslední prvek vektoru není odstraněn trvale jako funkce erase (). Různá použití této funkce byla vysvětlena v tomto kurzu.
Syntax:
vektor::pop_back();Tato funkce nemá žádný argument a nevrací nic.
Předpoklad:
Před kontrolou příkladů tohoto kurzu musíte zkontrolovat, zda je kompilátor g ++ nainstalován nebo není v systému. Pokud používáte kód Visual Studio, nainstalujte potřebná rozšíření ke kompilaci zdrojového kódu C ++ k vytvoření spustitelného kódu. Zde byla aplikace Visual Studio Code použita ke kompilaci a spuštění kódu C ++. Způsoby, jak zmenšit velikost vektoru pomocí funkce pop_back (), ukázaly v další části tohoto kurzu.
Příklad-1: Odeberte z vektoru více prvků
Vytvořením souboru C ++ s následujícím kódem odeberete dva prvky z vektorového kontejneru zmenšením velikosti vektoru pomocí funkce pop_back (). V kódu byl deklarován vektor s 5 řetězcovými hodnotami. Funkce pop_back () zde byla volána dvakrát, aby dočasně odstranila dva poslední prvky z vektoru a zmenšila velikost vektoru o 2. Obsah vektoru byl vytištěn dvakrát před a po použití funkce pop_back ().
// Zahrňte potřebné knihovny
#zahrnout
#zahrnout
použitím jmenný prostorhodiny;
inthlavní() {
// Deklarace vektoru řetězcových hodnot
vektor<tětiva>květiny= {'Růže','Lity','Měsíček','Tulipán','Water Liiy'};
náklady << 'Hodnoty vektoru: n';
// Opakováním vektoru pomocí smyčky vytiskněte hodnoty
pro(intjá= 0;já<květiny.velikost(); ++já)
náklady <<květiny[já] << '';
náklady << ' n';
// Odebrání posledních dvou hodnot z vektoru
květiny.pop_back();
květiny.pop_back();
náklady << ' nHodnoty vektoru po odebrání: n';
// Opakováním vektoru pomocí smyčky vytiskněte hodnoty
pro(intjá= 0;já<květiny.velikost(); ++já)
náklady <<květiny[já] << '';
náklady << ' n';
vrátit se 0;
}
Výstup:
Po spuštění výše uvedeného kódu se zobrazí následující výstup.
Příklad-2: Vytvořte nový vektor z jiného vektoru
Vytvořením souboru C ++ s následujícím kódem vložíte konkrétní hodnoty do prázdného vektoru z jiného vektoru odebráním prvků pomocí funkce pop_back (). V kódu byl deklarován vektor s 8 celočíselnými čísly a prázdný vektor celočíselného typu. Smyčka „while“ byla použita k iteraci každého prvku prvního vektoru a vložení prvku do nového vektoru, pokud je číslo dělitelné 2. Byl zde také vypočítán součet všech sudých čísel. Každý prvek prvního vektoru bude odstraněn funkcí pop_back () v každé iteraci smyčky, aby se dosáhlo podmínky ukončení smyčky.
// Zahrňte potřebné knihovny
#zahrnout
#zahrnout
použitím jmenný prostorhodiny;
inthlavní()
{
// Deklarace vektoru celočíselných dat
vektor<int>intVector{ 5,9,4,7,2,8,1,3 };
// Deklarujte prázdný vektor
vektor<int>novýVektor;
náklady << 'Hodnoty původního vektoru: n';
// Opakováním vektoru pomocí smyčky vytiskněte hodnoty
pro(intjá= 0;já<intVector.velikost(); ++já)
náklady <<intVector[já] << '';
náklady << ' n';
// Inicializujte výsledek
intvýsledek= 0;
// Opakujte smyčku, dokud se vektor nevyprázdní
zatímco(!intVector.prázdný())
{
/ *
Zjistěte sudá čísla, která chcete vložit do newVector
a vypočítat součet sudých čísel
* /
-li (intVector.zadní() % 2 == 0)
{
výsledek+=intVector.zadní();
novýVektor.zatlačit zpátky(intVector.zadní());
}
// Odebrat prvek z konce intVactor
intVector.pop_back();
}
náklady << 'Hodnoty nového vektoru: n';
// Opakováním vektoru pomocí smyčky vytiskněte hodnoty
pro(intjá= 0;já<novýVektor.velikost(); ++já)
náklady <<novýVektor[já] << '';
náklady << ' n';
náklady << 'Součet všech sudých čísel:' <<výsledek<< ' n';
vrátit se 0;
}
Výstup:
Po spuštění výše uvedeného kódu se zobrazí následující výstup. V prvním vektoru byla tři sudá čísla. Je jich 8, 2 a 4.
Příklad 3: Zkontrolujte, zda je nebo není odstraněn poslední prvek vektoru
Dříve bylo zmíněno, že pop_back () neodstraní prvky z vektoru trvale a odebere prvek zmenšením pouze velikosti vektoru. Odebraný prvek tedy zůstane ve stejné poloze, dokud se velikost vektoru nezvětší a nenahradí prvek jiným prvkem. Vytvořte soubor C ++ s následujícím kódem a zkontrolujte, zda prvek odstraněný funkcí pop_back () existuje nebo ne. Poslední pozice původního vektoru byla vytištěna před a po použití funkce pop_back ().
#zahrnout#zahrnout
použitím jmenný prostorhodiny;
inthlavní()
{
// Deklarace vektoru celočíselných dat
vektor<int>intVector{ 54,19,46,72,22,83,10,53 };
// Deklarujte prázdný vektor
vektor<int>novýVektor;
// Deklarujte celočíselnou proměnnou
intdélka;
// Vytiskne poslední prvek podle velikosti vektoru
délka=intVector.velikost();
náklady << 'Aktuální velikost vektoru:' <<délka<< ' n';
náklady << 'Poslední hodnota vektoru před odstraněním:' <<intVector[délka-1] << ' n';
// Odstraní prvek z konce vektoru
intVector.pop_back();
// Po odebrání vytiskne poslední prvek podle velikosti vektoru
délka=intVector.velikost();
náklady << 'Aktuální velikost vektoru:' <<délka<< ' n';
náklady << 'Poslední hodnota vektoru po odebrání:' <<intVector[délka] << ' n';
vrátit se 0;
}
Výstup:
Po spuštění výše uvedeného kódu se zobrazí následující výstup. Výstup ukazuje, že velikost vektoru se zmenší o 1, ale prvek poslední polohy původního vektoru stále existuje.
Závěr:
V tomto kurzu byla pomocí jednoduchých příkladů popsána tři různá použití funkce pop_back (). Hlavní účel používání této funkce bude čtenářům objasněn po procvičení příkladů tohoto tutoriálu.