Класс vector
Класс vector - это динамический массив из
стандартной библиотеки шаблонов STL. В отличие от
обычного массива, вектор может автоматически
увеличиваться и уменьшаться в размере при
добавлении или удалении элементов. Вектор хранит
элементы одного типа, который указывается в
угловых скобках при объявлении. Элементы вектора
хранятся в непрерывной области памяти, поэтому к
ним можно обращаться по индексу так же, как и в
обычном массиве. При добавлении элемента, если
выделенной памяти не хватает, вектор выделяет
новый блок памяти большего размера и копирует
туда все элементы.
Синтаксис
#include <vector>
vector<тип> имя;
vector<тип> имя(размер);
vector<тип> имя = {элемент1, элемент2, элемент3};
Пример
Давайте создадим вектор с числами и выведем его элементы на экран:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте добавим новый элемент в конец вектора
с помощью метода push_back:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
vec.push_back(6);
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
return 0;
}
Результат выполнения кода:
1 2 3 4 5 6
Пример
Давайте создадим вектор из строк и выведем его элементы:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> vec = {"a", "b", "c", "d", "e"};
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
return 0;
}
Результат выполнения кода:
"a b c d e"