Размер вектора можно уменьшить, используя различные встроенные функции 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 ().
// Включаем необходимые библиотеки
#включают
#включают
с использованием пространство именчасы;
intглавный() {
// Объявить вектор строковых значений
вектор<нить>цветызнак равно {'Роза','Lity','Бархатцы','Тюльпан','Water Liiy'};
Стоимость << 'Значения вектора: п';
// Итерируем вектор, используя цикл для печати значений
для(intязнак равно 0;я<цветы.размер(); ++я)
Стоимость <<цветы[я] << '';
Стоимость << ' п';
// Удаляем последние два значения из вектора
цветы.pop_back();
цветы.pop_back();
Стоимость << ' пЗначения вектора после удаления: п';
// Итерируем вектор, используя цикл для печати значений
для(intязнак равно 0;я<цветы.размер(); ++я)
Стоимость <<цветы[я] << '';
Стоимость << ' п';
возвращение 0;
}
Выход:
Следующий вывод появится после выполнения вышеуказанного кода.
Пример-2: Создать новый вектор из другого вектора
Создайте файл C ++ со следующим кодом для вставки определенных значений в пустой вектор из другого вектора путем удаления элементов с помощью функции pop_back (). В коде объявлены вектор из 8 целых чисел и пустой вектор целочисленного типа. Цикл while использовался для итерации каждого элемента первого вектора и вставки элемента в новый вектор, если число делится на 2. Здесь также была вычислена сумма всех четных чисел. Каждый элемент первого вектора будет удален функцией pop_back () на каждой итерации цикла, чтобы достичь условия завершения цикла.
// Включаем необходимые библиотеки
#включают
#включают
с использованием пространство именчасы;
intглавный()
{
// Объявление вектора целочисленных данных
вектор<int>intVector{ 5,9,4,7,2,8,1,3 };
// Объявляем пустой вектор
вектор<int>newVector;
Стоимость << 'Значения исходного вектора: п';
// Итерируем вектор, используя цикл для печати значений
для(intязнак равно 0;я<intVector.размер(); ++я)
Стоимость <<intVector[я] << '';
Стоимость << ' п';
// Инициализируем результат
intрезультатзнак равно 0;
// Повторяем цикл до тех пор, пока вектор не станет пустым
в то время как(!intVector.пустой())
{
/ *
Найдите четные числа для вставки в новый вектор
и вычислим сумму четных чисел
* /
если (intVector.назад() % 2 == 0)
{
результат+знак равноintVector.назад();
newVector.отталкивать(intVector.назад());
}
// Удаляем элемент из конца intVactor
intVector.pop_back();
}
Стоимость << 'Значения нового вектора: п';
// Итерируем вектор, используя цикл для печати значений
для(intязнак равно 0;я<newVector.размер(); ++я)
Стоимость <<newVector[я] << '';
Стоимость << ' п';
Стоимость << 'Сумма всех четных чисел:' <<результат<< ' п';
возвращение 0;
}
Выход:
Следующий вывод появится после выполнения вышеуказанного кода. В первом векторе было три четных числа. Есть 8, 2 и 4.
Пример-3: проверьте, удален ли последний элемент вектора
Ранее упоминалось, что pop_back () не удаляет элементы из вектора навсегда, а удаляет элемент только за счет уменьшения размера вектора. Таким образом, удаленный элемент остается в том же положении, пока размер вектора не увеличится и не заменит элемент другим элементом. Создайте файл C ++ со следующим кодом, чтобы проверить, существует ли элемент, удаленный функцией pop_back (). Последняя позиция исходного вектора была напечатана до и после использования функции pop_back ().
#включают#включают
с использованием пространство именчасы;
intглавный()
{
// Объявление вектора целочисленных данных
вектор<int>intVector{ 54,19,46,72,22,83,10,53 };
// Объявляем пустой вектор
вектор<int>newVector;
// Объявить целочисленную переменную
intдлина;
// Распечатываем последний элемент в зависимости от размера вектора
длиназнак равноintVector.размер();
Стоимость << 'Текущий размер вектора:' <<длина<< ' п';
Стоимость << 'Последнее значение вектора перед удалением:' <<intVector[длина-1] << ' п';
// Удаляем элемент с конца вектора
intVector.pop_back();
// Распечатываем последний элемент на основе размера вектора после удаления
длиназнак равноintVector.размер();
Стоимость << 'Текущий размер вектора:' <<длина<< ' п';
Стоимость << 'Последнее значение вектора после удаления:' <<intVector[длина] << ' п';
возвращение 0;
}
Выход:
Следующий вывод появится после выполнения вышеуказанного кода. Выходные данные показывают, что размер вектора уменьшился на 1, но элемент последней позиции исходного вектора все еще существует.
Заключение:
В этом руководстве на простых примерах описаны три различных использования функции pop_back (). Основная цель использования этой функции будет понятна читателям после практики примеров из этого руководства.