Rozmiar wektora można zmniejszyć za pomocą różnych wbudowanych funkcji C++. Jedną z nich jest funkcja pop_back(). Służy do usunięcia ostatniego elementu wektora z tyłu i zmniejszenia rozmiaru 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 z tego samouczka musisz sprawdzić, czy kompilator g++ jest zainstalowany w systemie. Jeśli używasz Visual Studio Code, zainstaluj niezbędne rozszerzenia, aby skompilować kod źródłowy C++ w celu utworzenia kodu wykonywalnego. Tutaj aplikacja Visual Studio Code została użyta do kompilacji i wykonania kodu C++. Sposoby zmniejszenia rozmiaru wektora za pomocą funkcji pop_back() zostały pokazane 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 kontenera wektorów, zmniejszając rozmiar wektora za pomocą funkcji pop_back(). W kodzie zadeklarowano wektor składający się z 5 wartości łańcuchowych. Funkcja pop_back() została tutaj wywołana dwa razy, aby tymczasowo usunąć dwa ostatnie elementy z wektora i zmniejszyć rozmiar wektora o 2. Zawartość 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ą przestrzeń nazwgodziny;
intGłówny() {
//Zadeklaruj wektor wartości łańcuchowych
wektor<strunowy>kwiaty= {'Róża',„Lity”,'Aksamitka','Tulipan',„Lija wodna”};
koszt << „Wartości wektora: ';
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
dla(inti= 0;i<kwiaty.rozmiar(); ++i)
koszt <<kwiaty[i] << '';
koszt << ' ';
//Usuń ostatnie dwie wartości z wektora
kwiaty.pop_back();
kwiaty.pop_back();
koszt << ' Wartości wektora po usunięciu : ';
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
dla(inti= 0;i<kwiaty.rozmiar(); ++i)
koszt <<kwiaty[i] << '';
koszt << ' ';
powrót 0;
}
Wyjście:
Poniższe 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(). W kodzie zadeklarowano wektor składający się z 8 liczb całkowitych oraz pusty wektor typu integer. 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 liczb parzystych 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ą przestrzeń nazwgodziny;
intGłówny()
{
//Zadeklaruj wektor danych całkowitych
wektor<int>inwektor{ 5,9,4,7,2,8,1,3 };
//Zadeklaruj pusty wektor
wektor<int>nowywektor;
koszt << „Wartości pierwotnego wektora: ';
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
dla(inti= 0;i<inwektor.rozmiar(); ++i)
koszt <<inwektor[i] << '';
koszt << ' ';
//Zainicjuj wynik
intwynik= 0;
//Iteruj pętlę, aż wektor stanie się pusty
podczas(!inwektor.pusty())
{
/ *
Dowiedz się, jakie liczby parzyste wstawić do nowego wektora
i oblicz sumę liczb parzystych
* /
Jeśli (inwektor.plecy() % 2 == 0)
{
wynik+=inwektor.plecy();
nowyWektor.push_back(inwektor.plecy());
}
//Usuń element z końca intVactor
inwektor.pop_back();
}
koszt << „Wartości nowego wektora: ';
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
dla(inti= 0;i<nowyWektor.rozmiar(); ++i)
koszt <<nowywektor[i] << '';
koszt << ' ';
koszt << 'Suma wszystkich liczb parzystych: ' <<wynik<< ' ';
powrót 0;
}
Wyjście:
Poniższe dane wyjściowe pojawią się po wykonaniu powyższego kodu. W pierwszym wektorze były trzy liczby parzyste. Jest 8, 2 i 4.
Przykład-3: Sprawdź, czy ostatni element wektora został usunięty, czy nie
Wspomniano wcześniej, że funkcja pop_back() nie usuwa na stałe elementów z wektora, a usuwa element jedynie poprzez zmniejszenie rozmiaru wektora. Tak więc usunięty element pozostaje w tej samej pozycji, dopóki rozmiar wektora nie powiększy się i nie zastąpi elementu innym elementem. Utwórz plik C++ z następującym kodem, aby sprawdzić, czy element usunięty przez funkcję pop_back() istnieje, czy nie. Ostatnia pozycja oryginalnego wektora została wydrukowana przed i po użyciu funkcji pop_back().
#włączać#włączać
za pomocą przestrzeń nazwgodziny;
intGłówny()
{
//Zadeklaruj wektor danych całkowitych
wektor<int>inwektor{ 54,19,46,72,22,83,10,53 };
//Zadeklaruj pusty wektor
wektor<int>nowywektor;
//Zadeklaruj zmienną całkowitą
intdługość;
//Wydrukuj ostatni element na podstawie rozmiaru wektora
długość=inwektor.rozmiar();
koszt << 'Aktualny rozmiar wektora:' <<długość<< ' ';
koszt << 'Ostatnia wartość wektora przed usunięciem:' <<inwektor[długość-1] << ' ';
//Usuń element z końca wektora
inwektor.pop_back();
//Drukuj ostatni element na podstawie rozmiaru wektora po usunięciu
długość=inwektor.rozmiar();
koszt << 'Aktualny rozmiar wektora:' <<długość<< ' ';
koszt << 'Ostatnia wartość wektora po usunięciu:' <<inwektor[długość] << ' ';
powrót 0;
}
Wyjście:
Poniższe dane wyjściowe pojawią się po wykonaniu powyższego kodu. Wynik pokazuje, że rozmiar wektora jest zmniejszony o 1, ale element ostatniej pozycji oryginalnego wektora nadal istnieje.
Wniosek:
Trzy różne zastosowania funkcji pop_back() zostały opisane w tym samouczku na prostych przykładach. Główny cel korzystania z tej funkcji zostanie wyjaśniony czytelnikom po przećwiczeniu przykładów z tego samouczka.