Вектор в стандартной библиотеке шаблонов C++ (STL) с примером
Что такое вектор C++?
Вектор C++ представляет собой динамический массив, способный автоматически изменять размер. Изменение размера происходит после добавления или удаления элемента из вектора. Хранилище обрабатывается автоматически контейнером. Элементы вектора хранятся в непрерывной памяти. Это позволяет программистам на C++ получать доступ к векторным элементам и перемещаться по ним с помощью итераторов.
Вставка новых данных в вектор выполняется в его конце. Это занимает разное время. Удаление элемента из вектора занимает постоянное время. Причина в том, что нет необходимости изменять размер вектора. Вставка или удаление элемента в начале вектора занимает линейное время.
Из этого учебника по C++ вы узнаете:
- Что такое вектор C++?
- Когда использовать вектор?
- Как инициализировать векторы в C++
- Итераторы
- Модификаторы
- Пример 1.
- Пример 2
- Емкость
- Пример 3.
Когда использовать вектор?
Вектор C++ следует использовать в следующих случаях:
- При работе с элементами данных, которые постоянно изменяются.
- Если размер данных неизвестен до начала, вектор не потребует от вас установки максимального размера контейнера.
Как инициализировать векторы в C++
Синтаксис векторов в C++:
01
- Как показано выше, мы начинаем с ключевого слова vector.
- Тип данных – это тип данных элементов, которые должны храниться в векторе.
- Имя — это имя вектора или элементов данных.
- Элементы обозначают количество элементов данных вектора. Этот параметр является необязательным.
Итераторы
Цель итераторов — помочь нам получить доступ к элементам, хранящимся в векторе. Это объект, который работает как указатель. Вот общие итераторы, поддерживаемые векторами C++:
- вектор::begin(): он дает итератор, указывающий на первый элемент вектора.
- вектор::end(): он дает итератор, указывающий на последний элемент вектора.
- vector::cbegin(): это то же самое, что и vector::begin(), но у него нет возможности изменять элементы.
- vector::cend(): то же самое, что и vector::end(), но не может изменять элементы вектора.
Модификаторы
Модификаторы используются для изменения значения указанного типа данных. Вот общие модификаторы в C++:
- vector::push_back(): Этот модификатор выталкивает элементы сзади.
- vector::insert(): Для вставки новых элементов в вектор в указанном месте.
- vector::pop_back(): Этот модификатор удаляет элементы вектора сзади.
- vector::erase(): Он используется для удаления диапазона элементов из указанного местоположения.
- vector::clear(): Он удаляет все элементы вектора.
Пример 1
10пре>Вывод:
![]()
Вот скриншот кода:
![]()
Пояснение кода:
- Включите файл заголовка iostream в наш код. Это позволит нам читать и писать в консоль.
- Включите векторный заголовочный файл в наш код. Это позволит нам работать с векторами в C++.
- Включите пространство имен std, чтобы использовать его классы и функции, не вызывая его.
- Вызвать функцию main(), внутри которой должна быть добавлена логика программы.
- Символ { отмечает начало тела функции main().
- Объявите вектор с именем nums для хранения набора целых чисел.
- Создайте цикл for, чтобы упростить повторение вектора. Эта переменная поможет нам перебирать элементы вектора, начиная с 1 st до 5 го элементы.
- Вставьте элементы в вектор num сзади. Для каждой итерации это добавит текущее значение переменной a в вектор, т.е. от 1 до 5.
- Вывести текст на консоль
- Используйте переменную итератора a для перебора элементов вектора nums от начала до последнего элемента. Обратите внимание, что мы используем итераторы vector::begin() и vector::end().
- Выводить значения, на которые указывает переменная итератора, на консоли для каждой итерации.
- Выведите текст на консоль. \n — это символ новой строки, перемещающий курсор на новую строку для печати оттуда.
- Используйте переменную итератора для перебора элементов вектора nums от начала до последнего элемента. Обратите внимание, что мы используем итераторы vector::cbegin() и vector::cend().
- Выводить значения, на которые указывает переменная итератора a, в консоли для каждой итерации.
- Функция main должна возвращать значение, если программа работает успешно.
- Конец тела функции main().
Пример 2
28Вывод:
![]()
Вот скриншот кода:
![]()
Пояснение кода:
- Включите файл заголовка iostream в наш код, чтобы использовать его функции.
- Включите файл заголовка вектора в наш код, чтобы использовать его функции.
- Включите пространство имен std, чтобы использовать его классы, не вызывая его.
- Вызовите функцию main(). Логика программы должна быть добавлена внутрь ее тела.
- Начало тела функции main().
- Объявите вектор с именем nums для хранения некоторых целочисленных значений.
- Сохранить 5 элементов в векторе nums. Каждый со значением 1.
- Вывести текст на консоль
- Используйте переменную итератора a для перебора элементов вектора nums.
- Вывести значения векторных чисел на консоль для каждой итерации.
- Добавьте значение 2 в конец вектора nums.
- Объявите целочисленную переменную n для хранения размера вектора nums.
- Печать последнего значения векторных чисел вместе с другим текстом. Он должен вернуть 2.
- Удалить последний элемент из вектора nums. 2 будет удалено.
- Печать текста на консоли. \n перемещает курсор на новую строку, чтобы напечатать там текст.
- Используйте переменную итератора a для перебора элементов вектора nums.
- Вывести значения векторных чисел на консоль для каждой итерации.
- Вставьте значение 7 в начало вектора nums.
- Печать первого значения векторных чисел вместе с другим текстом. Он должен вернуть 7.
- Удалить все элементы из вектора nums.
- Печать размера векторного числа вместе с другим текстом после очистки всего содержимого. Он должен вернуть 0.
- Конец тела функции main().
Емкость
Используйте следующие функции для определения емкости вектора:
- Размер() — Он возвращает количество элементов в векторе.
- Максимальный_размер() -Возвращает максимальное количество элементов, которые может хранить вектор.
- Емкость () – It возвращает объем памяти, выделенный вектору.
- Изменить размер () – это изменяет размер контейнера, чтобы он содержал n элементов. Если текущий размер вектора больше n, из вектора будут удалены последние элементы. Если текущий размер вектора меньше n, в конец вектора будут добавлены дополнительные элементы.
- Пусто () –i t возвращает true, если вектор пуст. В противном случае возвращается false.
Пример 3
31
Вывод:
Вот скриншот кода:
Пояснение кода:
- Включите файл заголовка iostream в наш код, чтобы использовать его функцию.
- Включите файл заголовка вектора в наш код, чтобы использовать его функции.
- Включите пространство имен std в наш код, чтобы использовать его классы, не вызывая его.
- Вызовите функцию main(). Логика программы должна быть добавлена в тело этой функции.
- Создайте вектор с именем vector1 для хранения целых чисел.
- Используйте цикл for для создания переменной x со значениями от 1 до 10.
- Поместите значения переменной x в вектор.
- Печать размера вектора рядом с другим текстом на консоли.
- Распечатайте емкость вектора рядом с другим текстом на консоли.
- Выведите максимальное количество элементов, которые вектор может содержать вместе с другим текстом на консоли.
- Измените размер вектора, чтобы он содержал только 5 элементов.
- Печать нового размера вектора вместе с другим текстом.
- Проверьте, не пуст ли вектор.
- Вывести текст на консоль, если вектор не пустой.
- Используйте оператор else, чтобы указать, что делать, если вектор пуст.
- Текст для печати на консоли, если вектор пуст.
- Программа должна возвращать значение после успешного завершения.
- Конец тела функции main().
Обзор:
- Вектор C++ — это динамический массив, способный автоматически изменять свой размер при добавлении или удалении элемента из него.
- Хранение вектора автоматически обрабатывается контейнером.
- Элементы вектора хранятся в непрерывном хранилище, чтобы к ним можно было получить доступ, а затем пройти с помощью итераторов.
- Вставка новых данных в вектор выполняется в его конце.
- Вставка данных в вектор занимает разное время.
- Удаление элемента из вектора занимает постоянное время.
- Вставка или удаление элемента в начале занимает линейное время.
- Вектора следует использовать при работе с элементами данных, которые постоянно изменяются.
- Кроме того, вы можете использовать векторы, если размер данных неизвестен до начала.
Язык C
- Стандартные библиотечные функции C
- Операторы в C++ с примером:что такое, типы и программы
- Цикл C++ do…while с примерами
- Оператор C++ Switch Case с ПРИМЕРОМ
- C++ динамическое выделение массивов с примером
- Указатели C++ с примерами
- Перегрузка оператора C++ с примерами
- std::list в C++ с примером
- Функции C++ с примерами программ
- Разница между структурой и классом:объяснение на примере C++