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

Функция Vector Insert () в C++ Программирование и разработка

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

Синтаксис:

Функцию insert () вектора можно использовать по-разному для разных целей. Ниже указаны три разных синтаксиса этой функции.

iterator insert (const_iterator position, const value_type& value);

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

iterator insert (iterator position, size_type n, const value_type& value);

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

iterator insert (const_iterator position, InputIterator first, InputIterator last);

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

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

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

Пример 1: Вставка одного элемента

Создайте файл C ++ со следующим кодом для вставки одного элемента с помощью функции insert (). В коде объявлен вектор из 5 чисел с плавающей запятой. Первая функция insert () использовалась для вставки числа в начало вектора с помощью функции begin (). Вторая функция insert () использовалась для вставки числа в начало вектора с помощью переменной итератора. Третья функция insert () должна вставить число в четвертую позицию вектора.

//Include necessary libraries

#include <iostream>

#include <vector>

using namespace std;

//Display the vector

void display(vector<float> nums)

{

//Print the values of the vector using loop

for(auto ele = nums.begin(); ele != nums.end() ; ele++)

cout << *ele << » «;

//Add new line

cout << «\n«;

}

int main()

{

//Initialize the vector

vector<float> price = { 78.5634.0723,4561.0829.3 };

cout << «The original vector: «;

display(price);

//Insert the number at the front using begin()

auto iterator = price.insert(price.begin()42.67);

cout << «The vector after the first insert: «;

display(price);

//Insert the number at the front using iterator

price.insert(iterator, 30.76);

cout << «The vector after the second insert: «;

display(price);

//Initialize an integer variable

int position = 3;

//Insert the number at the particular position

iterator = price.insert(price.begin() + position, 52.56);

cout << «The vector after the third insert: «;

display(price);

return 0;

}

Выход:

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

Значения вектора были напечатаны четыре раза на выходе

Пример 2: Вставка одного элемента несколько раз

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

//Include necessary libraries

#include<iostream>

#include<vector>

using namespace std;

//Display the vector

void display(vector<int> nums)

{

//Print the values of the vector using loop

for(auto ele = nums.begin(); ele != nums.end() ; ele++)

cout << *ele << » «;

//Add new line

cout << «\n«;

}

int main()

{

//Initialize the vector

vector<int> intArray {751244536410};

cout << «The original vector: «;

display(intArray);

//Insert the same number multiple times at the end of the vector

intArray.insert(intArray.end()550);

cout << «The vector after inserting the same number 5 times : «;

display(intArray);

cout << «\n«;

return 0;

}

Выход:

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

Значения вектора были напечатаны на выходе два раза

Пример 3: Вставка диапазона элементов

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

//Include necessary libraries

#include<iostream>

#include<vector>

using namespace std;

//Define the function prototype

void display(vector<string> list);

int main()

{

//Declare the first string vector

vector<string> list1 {«html»,«css»,«javascript»,«bootstrap»};

//Declare the second string vector

vector<string> list2 {«php»,«java»,«python»,«bash»,«perl»};

cout<<«The values of the list1: «;

display(list1);

cout<<«The values of the list2: «;

display(list2);

//Insert the values of list2 at the beginning of the list1

list1.insert(list1.begin(),list2.begin(),list2.end());

cout<<«The values of the list1 after inserting list2: «;

display(list1);

return 0;

}

//Display the vector

void display(vector<string> list)

{

//Print the values of the vector using loop

for(auto ele = list.begin(); ele != list.end() ; ele++)

cout << *ele << » «;

//Add new line

cout << «\n«;

}

Выход:

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

Значения вектора были напечатаны на выходе три раза

Заключение

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

Оцените статью
bestprogrammer.ru
Добавить комментарий