Użycie funkcji wektorowej pop_back w C ++

Użycie funkcji wektorowej pop_back w C ++

Rozmiar wektora można zmniejszyć, stosując różne wbudowane funkcje C++. Funkcja pop_back () jest jedną z nich. Służy do usunięcia ostatniego elementu wektora z tyłu i zmniejszenia wielkości wektora o 1. Ale ostatni element wektora nie jest usuwany na stałe, jak funkcja Erase (). Różne zastosowania tej funkcji zostały wyjaśnione w tym samouczku.

Składnia:

wektor :: pop_back ();

Ta funkcja nie ma żadnego argumentu i nic nie zwraca.

Warunek wstępny:

Przed sprawdzeniem przykładów tego samouczka musisz sprawdzić, czy kompilator G ++ jest zainstalowany lub nie w systemie. Jeśli używasz kodu Visual Studio, zainstaluj niezbędne rozszerzenia, aby skompilować kod źródłowy C ++, aby utworzyć kod wykonywalny. Tutaj aplikacja kodu Visual Studio została użyta do kompilacji i wykonania kodu C ++. Sposoby zmniejszenia wielkości wektora za pomocą funkcji pop_back () pokazano w następnej części tego samouczka.

Przykład-1: Usuń wiele elementów z wektora

Utwórz plik C ++ z następującym kodem, aby usunąć dwa elementy z pojemnika wektorowego, zmniejszając rozmiar wektora za pomocą funkcji pop_back (). Wektor o wartości 5 ciągów został zadeklarowany w kodzie. Funkcja pop_back () została tutaj nazywana dwukrotnie, aby tymczasowo usunąć dwa ostatnie elementy z wektora i zmniejszyć rozmiar wektora o 2. Treść wektora została wydrukowana dwa razy przed i po użyciu funkcji pop_back ().

// Dołącz niezbędne biblioteki
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
// deklaruj wektor wartości ciągu
wektor Flowers = „Rose”, „lity”, „ślimak”, „tulipan”, „woda liiy”;
Cout << "The values of the vector :\n";
// iteruj wektor za pomocą pętli do wydrukowania wartości
dla (int i = 0; i < flowers.size(); ++i)
Cout << flowers[i] << " ";
Cout << "\n";
// usuń dwa ostatnie wartości z wektora
kwiaty.pop_back ();
kwiaty.pop_back ();
Cout << "\nThe values of the vector after remove :\n";
// iteruj wektor za pomocą pętli do wydrukowania wartości
dla (int i = 0; i < flowers.size(); ++i)
Cout << flowers[i] << " ";
Cout << "\n";
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu.

Przykład-2: Utwórz nowy wektor z innego wektora

Utwórz plik C ++ z następującym kodem, aby wstawić określone wartości do pustego wektora z innego wektora, usuwając elementy za pomocą funkcji pop_back (). Wektor o 8 liczb całkowitych i pusty wektor typu liczb całkowitych został zadeklarowany w kodzie. Pętla „While” została użyta do iteracji każdego elementu pierwszego wektora i wstawienia elementu do nowego wektora, jeśli liczba jest podzielna przez 2. Suma wszystkich równych liczb również została tutaj obliczona. Każdy element pierwszego wektora zostanie usunięty przez funkcję pop_back () w każdej iteracji pętli, aby osiągnąć warunek zakończenia pętli.

// Dołącz niezbędne biblioteki
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

// zadeklaruj wektor danych liczb całkowitych
wektor intvector 5, 9, 4, 7, 2, 8, 1, 3;
// zadeklaruj pusty wektor
wektor Newvector;
Cout << "The values of the original vector :\n";
// iteruj wektor za pomocą pętli do wydrukowania wartości
dla (int i = 0; i < intVector.size(); ++i)
Cout << intVector[i] << " ";
Cout << "\n";
// zainicjuj wynik
int wynik = 0;
// iteruj pętlę, aż wektor stanie się pusty
chwila(!intvector.pusty())

/*
Dowiedz się liczb równych, które należy wstawić do Newvector
i oblicz sumę liczb parzystych
*/
if (intvector.back () % 2 == 0)

wynik += intvector.z powrotem();
Newvector.push_back (intvector.z powrotem());

// usuń element z końca niemożliwego
intvector.pop_back ();

Cout << "The values of the new vector :\n";
// iteruj wektor za pomocą pętli do wydrukowania wartości
dla (int i = 0; i < newVector.size(); ++i)
Cout << newVector[i] << " ";
Cout << "\n";
Cout << "The sum of all even numbers : " << result << '\n';
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu. W pierwszym wektorze były trzy liczby równe. Jest 8, 2 i 4.

Przykład-3: Sprawdź, czy ostatni element wektora jest usuwany lub nie

Wcześniej wspomniano, że pop_back () nie usuwa elementów na stałe z wektora i usuwa element, zmniejszając rozmiar tylko wektora. Tak więc usunięty element pozostaje w tej samej pozycji, aż rozmiar wektora wzrośnie i zastąpi element innym elementem. Utwórz plik C ++ z następującym kodem, aby sprawdzić element usunięty przez funkcję pop_back (). Ostatnia pozycja oryginalnego wektora został wydrukowany przed i po użyciu funkcji pop_back ().

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

// zadeklaruj wektor danych liczb całkowitych
wektor intvector 54, 19, 46, 72, 22, 83, 10, 53;
// zadeklaruj pusty wektor
wektor Newvector;
// deklaruj zmienną całkowitą
długość;
// Wydrukuj ostatni element na podstawie wielkości wektora
długość = intvector.rozmiar();
Cout << "The current size of the vector:" << length << "\n";
Cout << "The last value of the vector before remove:" << intVector[length-1] << "\n";
// Wyjmij element z końca wektora
intvector.pop_back ();
// Wydrukuj ostatni element oparty na rozmiarze wektora po usunięciu
długość = intvector.rozmiar();
Cout << "The current size of the vector:" << length << "\n";
Cout << "The last value of the vector after remove:" << intVector[length] << "\n";
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu. Wyjście pokazuje, że wielkość wektora jest zmniejszona o 1, ale element ostatniej pozycji oryginalnego wektora nadal istnieje.

Wniosek:

W tym samouczku opisano trzy różne zastosowania funkcji pop_back (). Główny cel zastosowania tej funkcji zostanie wyczyszczony dla czytelników po ćwiczeniu przykładów tego samouczka.