Dynamické pole lze implementovat pomocí vektoru v C++. Prvky lze do vektoru přidávat různými způsoby. Funkce push_back() je jedním ze způsobů, jak vložit nový prvek na konec vektoru, který zvětší velikost vektoru o 1. Tato funkce je užitečná, když je potřeba přidat do vektoru jeden prvek. Pokud datový typ vektoru nepodporuje hodnotu předávanou argumentem této funkce, bude vygenerována výjimka a nebudou vložena žádná data. Způsob vložení dat do vektoru pomocí funkce push_back() je ukázán v tomto tutoriálu.
Syntax:
vektor :: zatlačit zpátky ( typ_hodnoty n ) ;Hodnota n bude vložena na konec vektoru, pokud datový typ vektoru podporuje datový typ n. Nevrací nic.
Předpoklad:
Před kontrolou příkladů tohoto tutoriálu musíte zkontrolovat, zda je kompilátor g++ nainstalován nebo není v systému. Pokud používáte Visual Studio Code, nainstalujte potřebná rozšíření pro kompilaci zdrojového kódu C++ za účelem vytvoření spustitelného kódu. Zde byla ke kompilaci a spuštění kódu C++ použita aplikace Visual Studio Code. Různá použití funkce push_back() k vložení prvku (prvků) do vektoru jsou ukázána v další části tohoto tutoriálu.
Příklad-1: Přidání více prvků na konec vektoru
Vytvořte soubor C++ s následujícím kódem pro vložení více prvků na konec vektoru pomocí funkce push_back(). V kódu byl definován vektor tří řetězcových hodnot. Funkce push_back() byla volána třikrát pro vložení tří prvků na konec vektoru. Obsah vektoru bude vytištěn před a po vložení prvků.
//Zahrňte potřebné knihovny
#include
#include
použitím jmenný prostor std ;
int hlavní ( )
{
//Deklaruje vektor řetězcových hodnot
vektor < tětiva > ptactvo = { 'Papoušek šedý' , 'Diamantová holubice' , 'Koktejl' } ;
cout << 'Hodnoty vektoru před vložením: \n ' ;
//Opakujte vektor pomocí smyčky pro tisk hodnot
pro ( int i = 0 ; i < ptactvo. velikost ( ) ; ++ i )
cout << ptactvo [ i ] << '' ;
cout << ' \n ' ;
/*
Přidejte tři hodnoty na konec vektoru
pomocí funkce push_back().
*/
ptactvo. zatlačit zpátky ( Mayna ) ;
ptactvo. zatlačit zpátky ( 'andulky' ) ;
ptactvo. zatlačit zpátky ( 'kakadu' ) ;
cout << 'Hodnoty vektoru po vložení: \n ' ;
//Opakujte vektor pomocí smyčky pro tisk hodnot
pro ( int i = 0 ; i < ptactvo. velikost ( ) ; ++ i )
cout << ptactvo [ i ] << '' ;
cout << ' \n ' ;
vrátit se 0 ;
}
Výstup:
Po provedení výše uvedeného kódu se objeví následující výstup. Výstup ukazuje, že na konec vektoru byly vloženy tři nové prvky.
Příklad-2: Vložte hodnoty do vektoru pomocí vstupu
Vytvořte soubor C++ s následujícím kódem pro vložení prvku do prázdného vektoru převzetím hodnot od uživatele a použitím funkce push_back(). V kódu byl deklarován prázdný vektor datového typu integer. Dále smyčka „for“ odebere od uživatele 5 čísel a vloží čísla do vektoru pomocí funkce push_back(). Obsah vektoru se po vložení vytiskne.
//Zahrňte potřebné knihovny#include
#include
použitím jmenný prostor std ;
int hlavní ( )
{
//Deklaruje celočíselný vektor
vektor < int > intVector ;
//Deklarujte celé číslo
int číslo ;
cout << 'Zadejte 5 čísel: \n ' ;
/*
Pro vložení 5 celočíselných hodnot opakujte cyklus 5krát
do vektoru pomocí funkce push_back().
*/
pro ( int i = 0 ; i < 5 ; i ++ ) {
jíst >> číslo ;
intVector. zatlačit zpátky ( číslo ) ;
}
cout << 'Hodnoty vektoru po vložení: \n ' ;
//Opakujte vektor pomocí smyčky pro tisk hodnot
pro ( int i = 0 ; i < intVector. velikost ( ) ; ++ i )
cout << intVector [ i ] << '' ;
cout << ' \n ' ;
vrátit se 0 ;
}
Výstup:
Po provedení výše uvedeného kódu se objeví následující výstup. Výstup ukazuje, že pět čísel převzatých od uživatele bylo vloženo do vektoru.
Příklad-3: Vložení hodnot do vektoru na základě konkrétní podmínky
Vytvořte soubor C++ s následujícím kódem pro vložení konkrétních čísel z celočíselného pole do prázdného vektoru. V kódu byl deklarován prázdný vektor a pole 10 celých čísel. Smyčka 'for' byla použita k iteraci každé hodnoty pole a vložení čísla do vektoru pomocí funkce push_back(), pokud je číslo menší než 30 nebo větší než 60. Obsah vektoru bude vytištěn pomocí funkce display_vector() po vložení.
//Zahrňte potřebné knihovny#include
#include
použitím jmenný prostor std ;
//Zobrazení vektoru
prázdnota zobrazit_vektor ( vektor < int > čísla )
{
//Vytiskne hodnoty vektoru pomocí smyčky
pro ( auto on = čísla. začít ( ) ; on ! = čísla. konec ( ) ; on ++ )
cout << * on << '' ;
//Přidat nový řádek
cout << ' \n ' ;
}
int hlavní ( )
{
//Deklaruje celočíselný vektor
vektor < int > intVector ;
//Deklaruje pole čísel
int myArray [ 10 ] = { 9 , Čtyři pět , 13 , 19 , 30 , 82 , 71 , padesáti , 35 , 42 } ;
/*
Opakujte cyklus, abyste přečetli každý prvek pole
a vložte tyto hodnoty do vektoru
které jsou menší než 30 a větší než 60
pomocí funkce push_back().
*/
pro ( int i = 0 ; i < 10 ; i ++ ) {
-li ( myArray [ i ] < 30 || myArray [ i ] > 60 )
intVector. zatlačit zpátky ( myArray [ i ] ) ;
}
cout << 'Hodnoty vektoru po vložení: ' << endl ;
zobrazit_vektor ( intVector ) ;
vrátit se 0 ;
}
Výstup:
Po provedení výše uvedeného kódu se objeví následující výstup. Výstup ukazuje, že do vektoru byla vložena čísla 9, 13, 19, 82 a 71.
Závěr:
V C++ existuje mnoho funkcí pro vkládání dat na začátek nebo konec nebo na jakoukoli konkrétní pozici vektoru, jako je push_front(), insert() atd. Použití funkce push_back() bude jasné po procvičení příkladů uvedených v tomto tutoriálu .