Размерът на вектора може да бъде намален чрез използване на различни вградени функции на C++. Функцията pop_back() е една от тях. Използва се за премахване на последния елемент на вектора отзад и намаляване на размера на вектора с 1. Но последният елемент на вектора не се премахва за постоянно като функцията erase(). Различните употреби на тази функция са обяснени в този урок.
Синтаксис:
вектор :: pop_back ( ) ;Тази функция няма никакви аргументи и не връща нищо.
Предпоставка:
Преди да проверите примерите от този урок, трябва да проверите дали g++ компилаторът е инсталиран или не в системата. Ако използвате Visual Studio Code, инсталирайте необходимите разширения, за да компилирате изходния код на C++, за да създадете изпълнимия код. Тук приложението Visual Studio Code е използвано за компилиране и изпълнение на C++ кода. Начините за намаляване на размера на вектора с помощта на функцията pop_back() са показани в следващата част на този урок.
Пример-1: Премахване на множество елементи от вектора
Създайте C++ файл със следния код, за да премахнете два елемента от векторния контейнер, като намалите размера на вектора с помощта на функцията pop_back(). В кода е деклариран вектор от 5 низови стойности. Функцията pop_back() е извикана два пъти тук, за да премахне временно два последни елемента от вектора и да намали размера на вектора с 2. Съдържанието на вектора е отпечатано два пъти преди и след използването на функцията pop_back().
//Включете необходимите библиотеки
#include
#include <вектор>
използвайки пространство от имена std ;
вътр основен ( ) {
//Деклариране на вектор от низови стойности
вектор < низ > цветя = { 'Роза' , 'Лити' , 'Невен' , 'лале' , 'Воден лъв' } ;
cout << „Стойностите на вектора: \н ' ;
//Итерация на вектора с помощта на цикъл за отпечатване на стойностите
за ( вътр аз = 0 ; аз < цветя. размер ( ) ; ++ аз )
cout << цветя [ аз ] << ' ' ;
cout << ' \н ' ;
//Премахване на последните две стойности от вектора
цветя. pop_back ( ) ;
цветя. pop_back ( ) ;
cout << ' \н Стойностите на вектора след премахване: \н ' ;
//Итерация на вектора с помощта на цикъл за отпечатване на стойностите
за ( вътр аз = 0 ; аз < цветя. размер ( ) ; ++ аз )
cout << цветя [ аз ] << ' ' ;
cout << ' \н ' ;
връщане 0 ;
}
Изход:
Следният изход ще се появи след изпълнение на горния код.
Пример-2: Създайте нов вектор от друг вектор
Създайте C++ файл със следния код, за да вмъкнете конкретни стойности в празен вектор от друг вектор, като премахнете елементите с помощта на функцията pop_back(). В кода са декларирани вектор от 8 цели числа и празен вектор от целочислен тип. Цикълът ‘while’ е използван за повторение на всеки елемент от първия вектор и вмъкване на елемента в новия вектор, ако числото се дели на 2. Сумата от всички четни числа също е изчислена тук. Всеки елемент от първия вектор ще бъде премахнат от функцията pop_back() във всяка итерация на цикъла, за да се достигне условието за прекратяване на цикъла.
//Включете необходимите библиотеки
#include
#include <вектор>
използвайки пространство от имена std ;
вътр основен ( )
{
//Деклариране на вектор от целочислени данни
вектор < вътр > intVector { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Деклариране на празен вектор
вектор < вътр > новВектор ;
cout << „Стойностите на оригиналния вектор: \н ' ;
//Итерация на вектора с помощта на цикъл за отпечатване на стойностите
за ( вътр аз = 0 ; аз < intVector. размер ( ) ; ++ аз )
cout << intVector [ аз ] << ' ' ;
cout << ' \н ' ;
//Инициализиране на резултата
вътр резултат = 0 ;
//Повтаряне на цикъла, докато векторът стане празен
докато ( ! intVector. празна ( ) )
{
/*
Открийте четните числа, които да вмъкнете в newVector
и изчислете сбора на четните числа
*/
ако ( intVector. обратно ( ) % 2 == 0 )
{
резултат + = intVector. обратно ( ) ;
новВектор. избутвам ( intVector. обратно ( ) ) ;
}
//Премахване на елемент от края на intVactor
intVector. pop_back ( ) ;
}
cout << „Стойностите на новия вектор: \н ' ;
//Итерация на вектора с помощта на цикъл за отпечатване на стойностите
за ( вътр аз = 0 ; аз < новВектор. размер ( ) ; ++ аз )
cout << новВектор [ аз ] << ' ' ;
cout << ' \н ' ;
cout << 'Сумата от всички четни числа: ' << резултат << ' \н ' ;
връщане 0 ;
}
Изход:
Следният изход ще се появи след изпълнение на горния код. В първия вектор имаше три четни числа. Има 8, 2 и 4.
Пример-3: Проверете дали последният елемент от вектора е премахнат или не
По-рано беше споменато, че pop_back() не премахва елементите завинаги от вектора и премахва елемента само чрез намаляване на размера на вектора. Така премахнатият елемент остава в същата позиция, докато размерът на вектора се увеличи и замести елемента с друг елемент. Създайте C++ файл със следния код, за да проверите дали елементът, премахнат от функцията pop_back(), съществува или не. Последната позиция на оригиналния вектор е отпечатана преди и след използването на функцията pop_back().
#include#include <вектор>
използвайки пространство от имена std ;
вътр основен ( )
{
//Деклариране на вектор от целочислени данни
вектор < вътр > intVector { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Деклариране на празен вектор
вектор < вътр > новВектор ;
//Деклариране на целочислена променлива
вътр дължина ;
//Отпечатайте последния елемент въз основа на размера на вектора
дължина = intVector. размер ( ) ;
cout << „Текущият размер на вектора:“ << дължина << ' \н ' ;
cout << „Последната стойност на вектора преди премахване:“ << intVector [ дължина - 1 ] << ' \н ' ;
//Премахване на елемента от края на вектора
intVector. pop_back ( ) ;
//Отпечатване на последния елемент въз основа на размера на вектора след премахване
дължина = intVector. размер ( ) ;
cout << „Текущият размер на вектора:“ << дължина << ' \н ' ;
cout << „Последната стойност на вектора след премахване:“ << intVector [ дължина ] << ' \н ' ;
връщане 0 ;
}
Изход:
Следният изход ще се появи след изпълнение на горния код. Резултатът показва, че размерът на вектора е намален с 1, но елементът от последната позиция на оригиналния вектор все още съществува.
Заключение:
Три различни употреби на функцията pop_back() са описани в този урок с прости примери. Основната цел на използването на тази функция ще бъде изяснена за читателите след упражняване на примерите от този урок.