Стандартная библиотека шаблонов (STL). Vector

Содержание

Слайд 2

Что из себя представляет вектор? Класс вектора стандартной библиотеки C++ является

Что из себя представляет вектор?

Класс вектора стандартной библиотеки C++ является шаблоном

класса для контейнеров последовательности. Вектор хранит элементы заданного типа в линейном упорядочении и обеспечивает быстрый произвольный доступ к любому элементу. Вектор является предпочтительным контейнером для последовательности, когда производительность произвольного доступа имеет уровень "Премиум".
Иначе говоря, вектор – аналог массива.
Слайд 3

Сравнение вектора и массива

Сравнение вектора и массива

Слайд 4

Почему вставка в конец вектора работает за O(1)? + 1) 2) 1.5) + 3) 4)

Почему вставка в конец вектора работает за O(1)?

+

1)

2)

1.5)

+

3)

4)

Слайд 5

Объявление вектора Перед работой с векторами нужно подключить соответствующую библиотеку. Вектор

Объявление вектора

Перед работой с векторами нужно подключить соответствующую библиотеку.
Вектор объявляется следующим

образом: vector<‘тип данных’> ‘имя вектора’; Например:
Объявление вектора с использованием конструкторов: vector<‘тип данных’> ‘имя’(‘размер вектора’); vector<‘тип данных’> ‘имя’(‘размер’, ‘стартовое значение элементов’); Примеры:
Слайд 6

Работа с размером вектора ‘имя вектора’.size() – возвращает текущий размер вектора.

Работа с размером вектора

‘имя вектора’.size() – возвращает текущий размер вектора.
‘имя вектора’.resize(‘новый

размер’) – делает размер вектора равным заданному. Значения элементов, входящих в новый размер сохраняются.
‘имя вектора’.assign(‘новый размер’, ‘значение элементов’) – изменяет размер вектора и делает все элементы равными заданному значению.
‘имя вектора’.clear() – очищает вектор, его размер становиться равным 0.
‘имя вектора’.empty() – возвращает True, если вектор пуст, иначе – False.
‘имя вектора’.reserve(‘кол-во элементов’) – резервирует память на заданное количество элементов.
Слайд 7

Работа с элементами вектора ‘имя вектора’[‘индекс’] – позволяет работать с элементами

Работа с элементами вектора

‘имя вектора’[‘индекс’] – позволяет работать с элементами вектора

так же, как и с элементами массива.
‘имя вектора’.back() – обращается к последнему элементу вектора.
‘имя вектора’.front() – обращается к нулевому элементу вектора.
‘имя вектора’.push_back(‘значение’) – вставляет в конец вектора заданное значение.
‘имя вектора’.pop_back() – удаляет последнее значение в векторе.
Слайд 8

Получение итераторов вектора Итератор – это особый тип указателя, привязанный к

Получение итераторов вектора

Итератор – это особый тип указателя, привязанный к конкретному

контейнеру.
Итератор вектора имеет тип данных: vector<‘тип данных’>::iterator.
‘имя вектора’.begin() – возвращает итератор на нулевой элемент вектора.
‘имя вектора’.end() – возвращает итератор за концом вектора.
‘имя вектора’.rbegin() – возвращает реверсивный итератор на последний элемент вектора.
‘имя вектора’.rend() – возвращает реверсивный итератор перед началом вектора.
Слайд 9

Работа с итераторами Чтобы работать со значением элемента вектора, на который

Работа с итераторами

Чтобы работать со значением элемента вектора, на который указывает

итератор, его нужно разыменовать при помощи оператора *, который указывается перед итератором. Например:
К итераторам вектора можно прибавлять и отнимать целые числа, также можно вычитать из итератора итератор.

v

v.begin()

v.end()

v.begin()+4

v.end()-3

v

v.rend()

v.rbegin()

v.rbegin()+2

v.rend()-3

Слайд 10

Функции, работающие с векторами Требуется подключение #include min_element(‘итератор на начало’,’итератор за

Функции, работающие с векторами

Требуется подключение #include
min_element(‘итератор на начало’,’итератор за конец’)

– возвращает итератор на наименьший элемент в заданном диапазоне.
max_element(‘итератор на начало’,’итератор за конец’) – возвращает итератор на набольший элемент в заданном диапазоне.
reverse(‘итератор на начало’,’итератор за конец’) – выстраивает элементы в заданном диапазоне в обратном порядке.
sort(‘итератор на начало’,’итератор за конец’,’компаратор’) – сортирует элементы в заданном диапазоне в соответствии с компаратором; в случае его отсутствия – по возрастанию. Для сортировки по убыванию можно использовать стандартный компаратор greater<‘тип данных’>().
Слайд 11

Компараторы Аналог компаратора, используемого по умолчанию less () Компаратор, позволяющий отсортировать

Компараторы

Аналог компаратора, используемого по умолчанию less()

Компаратор, позволяющий отсортировать числа по убыванию

остатка от деления на 7

Вызов сортировки с указанием компаратора