Использование функции Vector Pop_Back () в C++

Использование функции Vector Pop_Back () в C++ Программирование и разработка

Размер вектора можно уменьшить, используя различные встроенные функции C ++. Функция pop_back () — одна из них. Он используется для удаления последнего элемента вектора сзади и уменьшения размера вектора на 1. Но последний элемент вектора не удаляется навсегда, как функция erase (). В этом руководстве были объяснены различные варианты использования этой функции.

Синтаксис:

vector::pop_back();

Эта функция не имеет аргументов и ничего не возвращает.

Предварительные условия:

Прежде чем проверять примеры этого руководства, вы должны проверить, установлен ли компилятор g ++ в системе. Если вы используете Visual Studio Code, установите необходимые расширения для компиляции исходного кода C ++ и создания исполняемого кода. Здесь приложение Visual Studio Code было использовано для компиляции и выполнения кода C ++. Способы уменьшения размера вектора с помощью функции pop_back () показаны в следующей части этого руководства.

Пример 1: удалить несколько элементов из вектора

Создайте файл C ++ со следующим кодом, чтобы удалить два элемента из контейнера вектора путем уменьшения размера вектора с помощью функции pop_back (). В коде объявлен вектор из 5 строковых значений. Функция pop_back () вызывалась здесь два раза, чтобы временно удалить два последних элемента из вектора и уменьшить размер вектора на 2. Содержимое вектора было напечатано два раза до и после использования функции pop_back ().

//Include necessary libraries

#include <iostream>

#include <vector>

using namespace std;

int main() {

//Declare a vector of string values

vector<string> flowers = {«Rose»«Lity»«Marigold»«Tulip»«Water Liiy»};

cout << «The values of the vector :\n«;

//Iterate the vector using loop to print the values

for(int i = 0; i < flowers.size(); ++i)

cout << flowers[i] << »  «;

cout << «\n«;

//Remove the last two values from the vector

flowers.pop_back();

flowers.pop_back();

cout << «\nThe values of the vector after remove :\n«;

//Iterate the vector using loop to print the values

for(int i = 0; i < flowers.size(); ++i)

cout << flowers[i] << »  «;

cout << «\n«;

return 0;

}

Выход:

Следующий вывод появится после выполнения вышеуказанного кода.

Следующий вывод появится после

Пример 2: Создать новый вектор из другого вектора

Создайте файл C ++ со следующим кодом для вставки определенных значений в пустой вектор из другого вектора путем удаления элементов с помощью функции pop_back (). В коде объявлены вектор из 8 целых чисел и пустой вектор целочисленного типа. Цикл while использовался для перебора каждого элемента первого вектора и вставки элемента в новый вектор, если число делится на 2. Здесь также была вычислена сумма всех четных чисел. Каждый элемент первого вектора будет удален функцией pop_back () на каждой итерации цикла, чтобы достичь условия завершения цикла.

//Include necessary libraries

#include <iostream>

#include <vector>

using namespace std;

int main ()

{

//Declare a vector of integer data

vector<int> intVector{ 59472813 };

//Declare an empty vector

vector<int> newVector;

cout << «The values of the original vector :\n«;

//Iterate the vector using loop to print the values

for(int i = 0; i < intVector.size(); ++i)

cout << intVector[i] << » «;

cout << «\n«;

//Initialize the result

int result = 0;

//Iterate the loop until the vector becomes empty

while(!intVector.empty())

{

/*

Find out the even numbers to insert into the newVector

and calculate the sum of the even numbers

*/

if (intVector.back() % 2 == 0)

{

result += intVector.back();

newVector.push_back(intVector.back());

}

//Remove element from the end of the intVactor

intVector.pop_back();

}

cout << «The values of the new vector :\n«;

//Iterate the vector using loop to print the values

for(int i = 0; i < newVector.size(); ++i)

cout << newVector[i] << » «;

cout << «\n«;

cout << «The sum of all even numbers : « << result << \n;

return 0;

}

Выход:

Следующий вывод появится после выполнения вышеуказанного кода. В первом векторе было три четных числа. Есть 8, 2 и 4.

В первом векторе было три четных числа. Есть 8, 2 и 4

Пример 3: проверьте, удален ли последний элемент вектора

Ранее упоминалось, что pop_back () не удаляет элементы из вектора навсегда, а удаляет элемент только за счет уменьшения размера вектора. Таким образом, удаленный элемент остается в той же позиции, пока размер вектора не увеличится и не заменит элемент другим элементом. Создайте файл C ++ со следующим кодом, чтобы проверить, существует ли элемент, удаленный функцией pop_back (), или нет. Последняя позиция исходного вектора была напечатана до и после использования функции pop_back ().

#include <iostream>

#include <vector>

using namespace std;

int main()

{

//Declare a vector of integer data

vector<int> intVector{ 5419467222831053 };

//Declare an empty vector

vector<int> newVector;

//Declare an integer variable

int length;

//Print the last element based on the size of the vector

length = intVector.size();

cout << «The current size of the vector:» << length << «\n«;

cout << «The last value of the vector before remove:» << intVector[length1] << «\n«;

//Remove the element from the end of the vector

intVector.pop_back();

//Print the last element based the size of the vector after remove

length = intVector.size();

cout << «The current size of the vector:» << length << «\n«;

cout << «The last value of the vector after remove:» << intVector[length] << «\n«;

return 0;

}

Выход:

Следующий вывод появится после выполнения вышеуказанного кода. Выходные данные показывают, что размер вектора уменьшился на 1, но элемент последней позиции исходного вектора все еще существует.

Выходные данные показывают, что размер вектора уменьшился на 1

Заключение

В этом руководстве на простых примерах описаны три различных использования функции pop_back (). Основная цель использования этой функции будет понятна читателям после практики примеров из этого руководства.

Читайте также:  Как понять рекурсию в JavaScript?
Оцените статью
bestprogrammer.ru
Добавить комментарий