Динамический массив может быть реализован с использованием вектора в C ++. Добавлять элементы к вектору можно разными способами. Функция push_back () — это один из способов вставить новый элемент в конец вектора, который увеличивает размер вектора на 1. Эта функция полезна, когда требуется добавить один элемент к вектору. Если тип данных вектора не поддерживает значение, переданное аргументом этой функции, будет сгенерировано исключение, и данные не будут вставлены. В этом руководстве показан способ вставки данных в вектор с помощью функции push_back ().
Синтаксис:
vector::push_back(value_type n);
Значение n будет вставлено в конец вектора, если тип данных вектора поддерживает тип данных n. Он ничего не возвращает.
Предварительные условия:
Прежде чем проверять примеры этого руководства, вы должны проверить, установлен ли компилятор g ++ в системе. Если вы используете Visual Studio Code, установите необходимые расширения для компиляции исходного кода C ++ и создания исполняемого кода. Здесь приложение Visual Studio Code было использовано для компиляции и выполнения кода C ++. Различные варианты использования функции push_back () для вставки элемента (ов) в вектор показаны в следующей части этого руководства.
Пример 1: Добавление нескольких элементов в конец вектора
Создайте файл C ++ со следующим кодом для вставки нескольких элементов в конец вектора с помощью функции push_back (). В коде определен вектор из трех строковых значений. Функция push_back () вызывалась трижды для вставки трех элементов в конец вектора. Содержимое вектора будет напечатано до и после вставки элементов.
//Include necessary libraries
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//Declare a vector of string values
vector<string> birds = {«Gray Parrot», «Diamond Dove», «Cocktail»};
cout << «The values of the vector before insert:\n«;
//Iterate the vector using loop to print the values
for(int i = 0; i < birds.size(); ++i)
cout << birds[i] << » «;
cout << «\n«;
/*
Add three values at the end of the vectior
using push_back() function
*/
birds.push_back(«Mayna»);
birds.push_back(«Budgies»);
birds.push_back(«Cockatoo»);
cout << «The values of the vector after insert:\n«;
//Iterate the vector using loop to print the values
for(int i = 0; i < birds.size(); ++i)
cout << birds[i] << » «;
cout << «\n«;
return 0;
}
Выход:
Следующий вывод появится после выполнения вышеуказанного кода. Выходные данные показывают, что три новых элемента были вставлены в конец вектора.
Пример 2: Вставка значений в вектор путем ввода
Создайте файл C ++ со следующим кодом, чтобы вставить элемент в пустой вектор, принимая значения от пользователя и используя функцию push_back (). В коде объявлен пустой вектор целочисленного типа данных. Затем цикл for берет от пользователя 5 чисел и вставляет числа в вектор с помощью функции push_back (). После вставки содержимое вектора будет напечатано.
//Include necessary libraries
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
//Declare an integer vector
vector<int> intVector;
//Declare an integer number
int number;
cout << «Enter 5 numbers: \n«;
/*
Iterate the loop for 5 times to insert 5 integer values
into the vector using push_back() function
*/
for( int i=0; i < 5; i++) {
cin >> number;
intVector.push_back (number);
}
cout << «The values of the vector after insert:\n«;
//Iterate the vector using loop to print the values
for(int i = 0; i < intVector.size(); ++i)
cout << intVector[i] << » «;
cout << «\n«;
return 0;
}
Выход:
Следующий вывод появится после выполнения вышеуказанного кода. Выходные данные показывают, что пять чисел, взятых у пользователя, были вставлены в вектор.
Пример 3: вставка значений в вектор на основе определенного условия
Создайте файл C ++ со следующим кодом, чтобы вставить определенные числа из целочисленного массива в пустой вектор. В коде объявлен пустой вектор и массив из 10 целых чисел. Цикл for был использован для перебора каждого значения массива и вставки числа в вектор с помощью функции push_back (), если число меньше 30 или больше 60. Содержимое вектора будет напечатано с использованием display_vector () после вставки.
//Include necessary libraries
#include <iostream>
#include <vector>
using namespace std;
//Display the vector
void display_vector(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 ()
{
//Declare an integer vector
vector<int> intVector;
//Declare an array of numbers
int myArray[10] = { 9, 45, 13, 19, 30, 82, 71, 50, 35, 42 };
/*
Iterate the loop to read each element of the array
and insert those values into the vector
which are less than 30 and greater than 60
using push_back() function
*/
for (int i=0; i < 10; i++) {
if(myArray[i] < 30 || myArray[i] > 60)
intVector.push_back (myArray[i]);
}
cout << «The values of the vector after insert: « << endl;
display_vector(intVector);
return 0;
}
Выход:
Следующий вывод появится после выполнения вышеуказанного кода. Выходные данные показывают, что числа 9, 13, 19, 82 и 71 были вставлены в вектор.
Заключение
В C ++ существует множество функций для вставки данных в начало или конец или в любую конкретную позицию вектора, например push_front (), insert () и т. Д. Использование функции push_back () будет очищено после практики примеров, показанных в этом руководстве.