logo

vector::push_back() a vector::pop_back() v C++ STL

vektory jsou stejná jako dynamická pole se schopností automaticky změnit velikost při vložení nebo odstranění prvku, přičemž jejich ukládání je automaticky řešeno kontejnerem.

vector::push_back()

Funkce push_back() se používá k vkládání prvků do vektoru zezadu. Nová hodnota se vloží do vektoru na konec, za aktuální poslední prvek a velikost kontejneru se zvětší o 1.



Syntax:

  vectorname.push_back(value)  Parameters : The value to be added in the back is passed as the parameter Result : Adds the value mentioned as the parameter to the back of the vector named as vectorname>

Příklady:

 Input: myvector = {1, 2, 3, 4, 5}; myvector.push_back(6); Output: 1, 2, 3, 4, 5, 6 Input: myvector = {5, 4, 3, 2, 1}; myvector.push_back(0); Output: 5, 4, 3, 2, 1, 0>

Chyby a výjimky
1. Silná záruka výjimky – pokud je vyvolána výjimka, v kontejneru nedochází k žádným změnám.
2. Pokud hodnota předaná jako argument není podporována vektorem, vykazuje nedefinované chování.



mergesort java

C++






// CPP program to illustrate> // push_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>mujvektor{ 1, 2, 3, 4, 5 };> >myvector.push_back(6);> > >// Vector becomes 1, 2, 3, 4, 5, 6> > >for> (>auto> it = myvector.begin(); it != myvector.end(); ++it)> >cout <<> << *it;> }>

>

java fazole
>

Výstup

 1 2 3 4 5 6>
vector::pop_back()()

Funkce pop_back() se používá k vytažení nebo odstranění prvků z vektoru zezadu. Hodnota se odstraní z vektoru od konce a velikost kontejneru se zmenší o 1.

Syntaxe:

  vectorname.pop_back()  Parameters : No parameters are passed Result : Removes the value present at the end or back of the given vector named as vectorname>

Příklady:

Input : myvector = {1, 2, 3, 4, 5}; myvector.pop_back(); Output :1, 2, 3, 4>
Input : myvector = {5, 4, 3, 2, 1}; myvector.pop_back(); Output :5, 4, 3, 2>

Chyby a výjimky

1. No-Throw-Garantee – Pokud kontejner není prázdný, funkce nikdy nevyvolá výjimky.
2. Pokud je vektor prázdný, vykazuje nedefinované chování.

průmysl a továrna

C++




// CPP program to illustrate> // pop_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>mujvektor{ 1, 2, 3, 4, 5 };> >myvector.pop_back();> > >// Vector becomes 1, 2, 3, 4> > >for> (>auto> it = myvector.begin(); it != myvector.end(); ++it)> >cout <<> << *it;> }>

>

>

Výstup

 1 2 3 4>

Odstraňuje pop_back() hodnoty spolu s prvky?

Když je zavolána funkce pop_back(), je poslední prvek odstraněn, hodnoty a Prvky jsou v tomto případě jednou ze stejných věcí. Je zavolán destruktor uloženého objektu a délka vektoru je odstraněna o 1. Pokud se kapacita kontejneru nesníží, můžete stále přistupovat k předchozímu paměťovému umístění, ale v tomto případě není možné přistupovat k již vyskakovanému prvek, protože to bude mít za následek nedefinované chování .

Aplikace: push_back() a pop_back()

Pokud je vektor prázdný, přidejte k němu celá čísla pomocí funkce push_back a poté vypočítejte jeho velikost.

Input : 1, 2, 3, 4, 5, 6 Output : 6>

Algoritmus

pandy lok

1. Přidejte prvky do vektoru pomocí funkce push_back
2. Zkontrolujte, zda je velikost vektoru 0, pokud ne, inkrementujte proměnnou čítače inicializovanou jako 0 a vysuňte zadní prvek.
3. Tento krok opakujte, dokud velikost vektoru nebude 0.
4. Vytiskněte konečnou hodnotu proměnné.

C++




// CPP program to illustrate> // Application of push_back and pop_back function> #include> #include> using> namespace> std;> > int> main()> {> >int> count = 0;> >vector<>int>>myvector;> >myvector.push_back(1);> >myvector.push_back(2);> >myvector.push_back(3);> >myvector.push_back(4);> >myvector.push_back(5);> >myvector.push_back(6);> >while> (!myvector.empty()) {> >count++;> >myvector.pop_back();> >}> >cout << count;> >return> 0;> }>

databáze

>

>

Výstup

6>

Podívejme se na rozdíly v tabulkové formě, jak je uvedeno níže:

vector::push_back() vector::pop_back()
Slouží k přidání nového prvku na konec vektoru. Používá se k odstranění nového prvku na konci vektoru.

Jeho syntaxe je -:

push_back(hodnota);

Jeho syntaxe je -:

pop_back();

Jeho parametrem je hodnota, kterou chceme přidat na konec vektoru. Nepotřebuje žádné parametry.
Nemá žádný návratový typ. Nemá žádnou návratovou hodnotu.
Jeho složitost je konstantní. Jeho složitost je konstantní.