Векторы: определение, свойства, примеры

Вектор в C++ - это динамический массив, который обеспечивает удобный и эффективный способ хранения и обработки элементов. Для работы с векторами в C++ используется стандартная библиотека шаблонов (STL).

Создание вектора

Для создания вектора нужно подключить заголовочный файл и определить переменную векторного типа:

c++
#include 
std::vector numbers; // создание вектора целых чисел

Также можно создать вектор, заполненный значениями из другого массива:

c++
int myArray[] = {1, 2, 3, 4, 5};
std::vector numbers(myArray, myArray + sizeof(myArray) / sizeof(int)); // создание вектора из массива

Добавление и удаление элементов

Для добавления элементов в вектор используется метод push_back():

c++
numbers.push_back(6); // добавление элемента в конец вектора

Для удаления элемента из вектора можно использовать метод erase() с указанием индекса удаляемого элемента:

c++
numbers.erase(numbers.begin() + 3); // удаление элемента с индексом 3

Доступ к элементам

Для доступа к элементам вектора используется оператор [] или метод at(). Оператор [] позволяет получить доступ к элементу по его индексу:

c++
int thirdNumber = numbers[2]; // получение третьего элемента вектора (индекс 2)

Метод at() также позволяет получить доступ к элементу по его индексу, но при попытке обратиться к несуществующему элементу метод вызовет исключение:

c++
int thirdNumber = numbers.at(2); // получение третьего элемента вектора (индекс 2)

Итерация по вектору

Для итерации по элементам вектора можно использовать цикл for:

c++
for (int i = 0; i < numbers.size(); i++) {
  int number = numbers[i];
  // обработка элемента
}

Также можно использовать синтаксис цикла foreach (начиная с C++11):

c++
for (int number : numbers) {
  // обработка элемента
}

Примеры кода

Пример 1. Создание вектора, добавление и удаление элементов:

c++
#include 
#include 
int main() {
  std::vector numbers; // создание пустого вектора
  numbers.push_back(1); // добавление элемента в вектор
  numbers.push_back(2);
  numbers.push_back(3);
  std::cout << "Vector before deletion:" << std::endl;
  for (int number : numbers) {
    std::cout << number << std::endl; // вывод элементов вектора
  }
  numbers.erase(numbers.begin() + 1); // удаление второго элемента вектора
  std::cout << "Vector after deletion:" << std::endl;
  for (int number : numbers) {
    std::cout << number << std::endl; // вывод элементов вектора
  }
  
  return 0;
}

Вывод:


Vector before deletion:
1
2
3
Vector after deletion:
1
3

Пример 2. Создание вектора из массива, доступ к элементам:

c++
#include 
#include 
int main() {
  int myArray[] = {1, 2, 3, 4, 5};
  std::vector numbers(myArray, myArray + sizeof(myArray) / sizeof(int)); // создание вектора из массива
  std::cout << "Third number: " << numbers[2] << std::endl; // доступ к третьему элементу
  std::cout << "Size: " << numbers.size() << std::endl; // вывод размера вектора
  
  return 0;
}

Вывод:


Third number: 3
Size: 5

Похожие вопросы на: "c вектор "

Как выбрать цвет текста с помощью CSS
Быстрая сортировка qsort в языке C
FFmpeg и Audacity: редактирование и конвертация аудио и видео
Как работает NET Runtime: полное руководство для разработчиков
Как использовать mailto в HTML коде для отправки писем
Исключения в Java: как правильно обработать ошибки в программировании
Inject Server - безопасный и удобный инструмент для администрирования
Process Finished with Exit Code 1073741819 0xc0000005
Токен ВК получить: инструкция по получению токена доступа ВКонтакте
Blade Laravel - мощный шаблонизатор для веб-разработки