Здесь вы узнаете о C ++ STL Vector Container, т.е. о std :: vector, и о различных функциях, применимых к нему.
Вектор, как мы уже говорили ранее, вектор - это динамический массив, растущий в одном направлении.
Читайте также: C ++ STL Array Container - std :: array
C ++ STL Vector
Векторы - это динамические массивы. Когда мы вставляем новый элемент или удаляем элемент из вектора, он может автоматически изменять свой размер. Векторные элементы также хранятся в смежных ячейках памяти, чтобы их можно было просматривать и использовать итераторы. Вставка и удаление в конце занимает постоянное время O (1). Используя векторы, мы можем избежать исключений array_index_outof_bound.
Синтаксис STL Vector
vector <data_type> vectorName;
Функции, используемые с векторным контейнером
push_back (): используется для вставки элемента в вектор. Он вставляет элемент в конце вектора.
Оператор []: этот оператор возвращает ссылку на элемент, расположенный в индексе, к которому мы обращаемся, например, vectorName [index_position].
at (): этот оператор также полезен для доступа к элементу в определенной позиции.
front (): возвращает ссылку на первый элемент вектора.
back (): возвращает ссылку на последний элемент вектора.
Пример программы для показа вышеупомянутых функций:
Выход
0 1 2 3 4 5
0
5
0
5
size (): дает количество элементов, присутствующих в векторе.
max_size (): он дает максимальное количество элементов, которое может содержать вектор.
acity (): мы говорили, что вектор - это динамический массив, который увеличивается за счет вставки элементов. Когда мы объявляем это, система выделяет ему некоторое пространство. Определенное количество элементов он может содержать. Если мы вставим больше, чем эти элементы, система выделит для него больше места (в новом месте, освободив старое пространство).
Capacity () возвращает количество элементов, которые можно уместить в векторе до его заполнения. После заполнения добавление новых элементов приведет к выделению нового, большего блока памяти и копированию в него существующих элементов.
resize (): изменяет размер вектора, ограничиваясь только некоторым количеством элементов.
empty (): это булева функция. Возвращает, является ли вектор пустым или нет.
Пример программы для показа вышеуказанных функций:
Выход
размер вектора 5
Максимальный размер 4611686018427387903
Емкость вектора 8
вектор пуст
Максимальный размер 4611686018427387903
Емкость вектора 8
вектор пуст
Вектор с итератором
begin (): возвращает итератор, указывающий на первый элемент вектора.
end (): возвращает итератор, указывающий на текущий последний элемент вектора.
rbegin (): возвращает обратный итератор, указывающий на последний элемент в векторе. Используется для перехода от последнего к первому
rend (): возвращает обратный итератор, указывающий на первый элемент вектора.
Пример программы:
Выход
элементы в векторе от начала до конца 0 1 2 3 4
элементы в векторе от конца до начала 4 3 2 1 0
элементы в векторе от конца до начала 4 3 2 1 0
assign (): назначить новый контент вектору и изменить его размер.
pop_back (): удаляет элемент в конце вектора. Так что размер вектора также уменьшился на 1.
insert (iterator, element): вставляет элемент в вектор перед позицией, указанной итератором. Этот метод вставки может быть перегружен третьей переменной count. Это говорит, сколько раз элемент должен быть вставлен перед указанным положением.
Пример программы для показа вышеуказанных методов:
Выход
Элементами Vector1 являются
100 100 100 100
Элементами Vector2 являются
100 100 100
новое значение, вставленное в vector2. Последний элемент равен 10
после операции pop_back, последний элемент вектора 2 равен 100
Теперь первый элемент вектора 3 равен 20
100 100 100 100
Элементами Vector2 являются
100 100 100
новое значение, вставленное в vector2. Последний элемент равен 10
после операции pop_back, последний элемент вектора 2 равен 100
Теперь первый элемент вектора 3 равен 20
erase (): удаляет элемент, указанный позицией итератора. Этот метод стирания может быть перегружен дополнительным итератором, который определяет диапазон, который будет удален.
Пример программы:
Выход
первый элемент перед удалением равен 100
первый элемент после удаления равен 0
вектор пуст
первый элемент после удаления равен 0
вектор пуст
swap (vector1, vector2): это меняет местами все элементы vector1 на vector2 и vector2 на vector1.
clear (): удаляет все элементы вектора.
Пример программы:
Выход
Элементы вектора Vector перед заменой -
1 2 3 4 5
Элементы вектора Vector перед заменой -
11 12 13 14 15
Элементы Vector1 после замены -
11 12 13 14 15
Элементы Vector2 после замены -
1 2 3 4 5
вектор пустой
1 2 3 4 5
Элементы вектора Vector перед заменой -
11 12 13 14 15
Элементы Vector1 после замены -
11 12 13 14 15
Элементы Vector2 после замены -
1 2 3 4 5
вектор пустой
Прокомментируйте ниже, если у вас есть вопросы или вы нашли какую-либо информацию неверной в предыдущем уроке для векторного контейнера C ++ stl.
Комментариев нет:
Отправить комментарий