Rozmiar wektora można zmniejszyć, korzystając z różnych wbudowanych funkcji języka C++. Funkcja pop_back() jest jedną z nich. Służy do usunięcia ostatniego elementu wektora z tyłu i zmniejszenia rozmiaru wektora o 1. Jednak ostatni element wektora nie jest usuwany trwale, jak funkcja erase(). W tym samouczku wyjaśniono różne zastosowania tej funkcji.
Składnia:
wektor :: pop_back ( ) ;Funkcja ta nie ma żadnych argumentów i nic nie zwraca.
Warunek wstępny:
Przed sprawdzeniem przykładów w tym samouczku musisz sprawdzić, czy w systemie jest zainstalowany kompilator g++. Jeśli używasz Visual Studio Code, zainstaluj niezbędne rozszerzenia, aby skompilować kod źródłowy C++ w celu utworzenia kodu wykonywalnego. W tym przypadku do skompilowania i wykonania kodu C++ użyto aplikacji Visual Studio Code. Sposoby zmniejszenia rozmiaru wektora za pomocą funkcji pop_back() zostały pokazane w dalszej części tutoriala.
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 tu wywołana dwukrotnie w celu tymczasowego usunięcia dwóch ostatnich elementów z wektora i zmniejszenia rozmiaru wektora o 2. Zawartość wektora została wydrukowana dwa razy przed i po użyciu funkcji pop_back().
//Dołącz niezbędne biblioteki
#include
#uwzględnij
za pomocą przestrzeń nazw st ;
wew główny ( ) {
//Zadeklaruj wektor wartości łańcuchowych
wektor < strunowy > kwiaty = { 'Róża' , „Lita” , 'Aksamitka' , 'Tulipan' , „Lew wodny” } ;
cout << „Wartości wektora: \N ' ;
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
Do ( wew I = 0 ; I < kwiaty. rozmiar ( ) ; ++ I )
cout << kwiaty [ I ] << ' ' ;
cout << ' \N ' ;
//Usuń dwie ostatnie wartości z wektora
kwiaty. pop_back ( ) ;
kwiaty. pop_back ( ) ;
cout << ' \N Wartości wektora po usunięciu: \N ' ;
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
Do ( wew I = 0 ; I < kwiaty. rozmiar ( ) ; ++ I )
cout << kwiaty [ I ] << ' ' ;
cout << ' \N ' ;
powrót 0 ;
}
Wyjście:
Po wykonaniu powyższego kodu pojawią się następujące dane wyjściowe.
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 8 liczb całkowitych oraz pusty wektor typu całkowitego. Pętla „while” została wykorzystana do iteracji każdego elementu pierwszego wektora i wstawienia elementu do nowego wektora, jeśli liczba jest podzielna przez 2. Tutaj również obliczono sumę wszystkich liczb parzystych. 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
#include
#uwzględnij
za pomocą przestrzeń nazw st ;
wew główny ( )
{
//Zadeklaruj wektor danych całkowitych
wektor < wew > intWektor { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Zadeklaruj pusty wektor
wektor < wew > nowyWektor ;
cout << „Wartości pierwotnego wektora: \N ' ;
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
Do ( wew I = 0 ; I < intWektor. rozmiar ( ) ; ++ I )
cout << intWektor [ I ] << ' ' ;
cout << ' \N ' ;
//Zainicjuj wynik
wew wynik = 0 ;
//Iteruj pętlę, aż wektor stanie się pusty
chwila ( ! intWektor. pusty ( ) )
{
/*
Znajdź liczby parzyste, które chcesz wstawić do nowego wektora
i obliczyć sumę liczb parzystych
*/
Jeśli ( intWektor. z powrotem ( ) % 2 == 0 )
{
wynik + = intWektor. z powrotem ( ) ;
nowyWektor. push_back ( intWektor. z powrotem ( ) ) ;
}
//Usuń element z końca intVactor
intWektor. pop_back ( ) ;
}
cout << „Wartości nowego wektora: \N ' ;
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
Do ( wew I = 0 ; I < nowyWektor. rozmiar ( ) ; ++ I )
cout << nowyWektor [ I ] << ' ' ;
cout << ' \N ' ;
cout << „Suma wszystkich liczb parzystych: „ << wynik << ' \N ' ;
powrót 0 ;
}
Wyjście:
Po wykonaniu powyższego kodu pojawią się następujące dane wyjściowe. W pierwszym wektorze były trzy liczby parzyste. Jest ich 8, 2 i 4.
Przykład 3: Sprawdź, czy ostatni element wektora został usunięty, czy nie
Wspomniano wcześniej, że pop_back() nie usuwa elementów trwale z wektora, lecz usuwa element jedynie poprzez zmniejszenie rozmiaru wektora. Zatem usunięty element pozostaje w tej samej pozycji, dopóki wektor nie zwiększy rozmiaru i nie zastąpi go 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().
#include#uwzględnij
za pomocą przestrzeń nazw st ;
wew główny ( )
{
//Zadeklaruj wektor danych całkowitych
wektor < wew > intWektor { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Zadeklaruj pusty wektor
wektor < wew > nowyWektor ;
//Zadeklaruj zmienną całkowitą
wew długość ;
//Wydrukuj ostatni element w oparciu o rozmiar wektora
długość = intWektor. rozmiar ( ) ;
cout << „Aktualny rozmiar wektora:” << długość << ' \N ' ;
cout << „Ostatnia wartość wektora przed usunięciem:” << intWektor [ długość - 1 ] << ' \N ' ;
//Usuń element z końca wektora
intWektor. pop_back ( ) ;
//Wydrukuj ostatni element w oparciu o rozmiar wektora po usunięciu
długość = intWektor. rozmiar ( ) ;
cout << „Aktualny rozmiar wektora:” << długość << ' \N ' ;
cout << „Ostatnia wartość wektora po usunięciu:” << intWektor [ długość ] << ' \N ' ;
powrót 0 ;
}
Wyjście:
Po wykonaniu powyższego kodu pojawią się następujące dane wyjściowe. Wynik pokazuje, że rozmiar wektora został zmniejszony o 1, ale element ostatniej pozycji pierwotnego wektora nadal istnieje.
Wniosek:
W tym samouczku na prostych przykładach opisano trzy różne zastosowania funkcji pop_back(). Główny cel korzystania z tej funkcji stanie się jasny dla czytelników po przećwiczeniu przykładów z tego tutoriala.