Функция Vector Erase() в C++

Funkcia Vector Erase V C



Массив используется для хранения нескольких данных, и количество элементов массива не может быть изменено во время выполнения. Эту проблему можно решить, используя вектор, который работает как динамический массив. В классе векторов существуют различные функции для добавления и удаления элемента из вектора. Функция стирания() используется для удаления одного или нескольких элементов из вектора во время выполнения, что уменьшает размер вектора. Использование этой функции было объяснено в этом уроке.

Синтаксис:

Ниже приведены два типа синтаксиса этой функции.







стереть итератор ( позиция итератора ) ;

Вышеупомянутая функция стирания() используется для удаления одного элемента из вектора, возвращает итератор и указывает на элемент, за которым следует последний стертый элемент.



стереть итератор ( начальная_позиция итератора, конечная_позиция итератора ) ;

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



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

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





Пример 1. Удаление первого элемента element

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

//Подключаем необходимые библиотеки

#include

#include <вектор>

с использованием пространство имен стандартный ;

//Отображение значений вектора

пустота display_vector ( вектор < нить > фрукты )

{

//Инициализируем счетчик

интервал прилавок '=' 1 ;

//Итерируем и печатаем элементы вектора с помощью цикла

для ( авто он '=' фрукты. начинать ( ) ; он ! '=' фрукты. конец ( ) ; он ++ )

{

//Проверяем, является ли элемент последним элементом или нет

если ( прилавок ! '=' фрукты. размер ( ) )

расчет << * он << ', ' ;

еще

расчет << * он ;

//Увеличиваем счетчик на 1

прилавок ++ ;

}

расчет << конец ;

}

интервал основной ( пустота ) {

//Объявляем вектор строковых данных

вектор < нить > фрукты '=' { 'Апельсин' , 'Банан' , 'Манго' , «Джек Фрут» , Личи } ;

//Распечатываем существующие значения вектора

расчет << 'Значения вектора перед удалением: ' << конец ;

display_vector ( фрукты ) ;

//Удаляем первый элемент из вектора

фрукты. стереть ( фрукты. начинать ( ) ) ;

//Распечатываем существующие значения вектора после удаления

расчет << ' \п Значения вектора после удаления: ' << конец ;

display_vector ( фрукты ) ;

возвращаться 0 ;

}

Выход:

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



Пример 2. Удаление нескольких элементов

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

//Подключаем необходимые библиотеки

#include <вектор>

#include

с использованием пространство имен стандартный ;

//Отображение вектора

пустота display_vector ( вектор < интервал > цифры )

{

//Распечатываем значения вектора с помощью цикла

для ( авто он '=' цифры. начинать ( ) ; он ! '=' цифры. конец ( ) ; он ++ )

расчет << * он << ' ' ;

//Добавляем новую строку

расчет << ' \п ' ;

}

интервал основной ( ) {

//Объявляем вектор целочисленных данных

вектор < интервал > intArray { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;

//Распечатываем существующие значения вектора

расчет << 'Значения вектора перед удалением: ' << конец ;

display_vector ( intArray ) ;

//Объявляем два итератора для удаления диапазона элементов из вектора

вектор < интервал > :: итератор началоЭле, конецЭле ;

//Устанавливаем итератор на первую позицию

начни их '=' intArray. начинать ( ) ;

//Увеличиваем начальный итератор на 2

продвигать ( начни их, 2 ) ;

//Устанавливаем итератор на последнюю позицию

конецЭле '=' intArray. конец ( ) ;

//Уменьшаем конечный итератор на 3

продвигать ( конецЭле, - 3 ) ;

//Удалить диапазон элементов

intArray. стереть ( началоЭле, конецЭле ) ;

//Распечатываем существующие значения вектора после удаления

расчет << ' \п Значения вектора после удаления: ' << конец ;

display_vector ( intArray ) ;

возвращаться 0 ;

}

Выход:

Следующий вывод появится после выполнения приведенного выше кода. В соответствии с диапазоном итераторов удалены элементы с 3-й по 7-ю позицию вектора.

Пример 3. Удаление определенных элементов

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

//Подключаем необходимые библиотеки

#include

#include <вектор>

с использованием пространство имен стандартный ;

интервал основной ( )

{

//Объявляем вектор целочисленных данных

вектор < интервал > цифры '=' { 78 , Четыре пять , 67 , 25 , 98 , 75 , 52 } ;

расчет << «Значения вектора перед удалением: \п ' ;

для ( интервал константа & я : цифры ) {

расчет << я << '' ;

}

расчет << конец ;

//Удаляем из вектора числа, которые не делятся на 5

для ( авто он '=' цифры. начинать ( ) ; он ! '=' цифры. конец ( ) ; он ++ )

{

//Проверяем, делится ли число на 5 или нет

если ( * он % 5 ! '=' 0 )

{

//Удалим элемент по итератору

цифры. стереть ( он -- ) ;

}

}

расчет << «Значения вектора после удаления: \п ' ;

для ( интервал константа & я : цифры ) {

расчет << я << '' ;


}


расчет << конец ;


возвращаться 0 ;

}

Выход:

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

Заключение:

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