std::deque
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
| Defined in header <deque>
|
||
| template< class T, |
||
std::deque (двусторонняя очередь) представляет собой последовательный индексированный контейнер, который позволяет быстро вставлять и удалять элементы с начала и с конца. Кроме того, вставка и удаление с обоих концов двусторонней очереди оставляет действительными указатели и ссылки на остальные элементы.
В отличие от std::vector, элементы deque не хранятся непрерывно: обычно реализован с помощью набора выделенных массивов фиксированного размера.
Хранилище deque обрабатывается автоматически, расширяясь и сужаясь по мере необходимости. Расширение deque дешевле, чем расширение std::vector, потому что оно не требует копирования существующих элементов в новый участок памяти.
Сложность (производительность) стандартных операций над двусторонней очередью следующая:
- Произвольный доступ - постоянная O(1)
- Вставка и удаление элементов с начала и с конца - амортизированная постоянная O(1)
- Вставка и удаление элементов - линейная O(n)
std::deque отвечает требованиям Container, AllocatorAwareContainer, SequenceContainer и ReversibleContainer.
Содержание |
[править] Типы-члены
| Тип-член | Определение |
value_type
|
T
|
allocator_type
|
Allocator
|
size_type
|
Беззнаковый целочисленный тип (обычно size_t) |
difference_type
|
Знаковый целочисленный тип (обычно std::ptrdiff_t) |
reference
|
Allocator::reference (до C++11)value_type& (начиная с C++11)
|
const_reference
|
Allocator::const_reference (до C++11)const value_type& (начиная с C++11)
|
pointer
|
Allocator::pointer (до C++11)std::allocator_traits<Allocator>::pointer (начиная с C++11) |
const_pointer
|
Allocator::const_pointer (до C++11) std::allocator_traits<Allocator>::const_pointer (начиная с C++11) |
iterator
|
RandomAccessIterator
|
const_iterator
|
Константный итератор с произвольным доступом |
reverse_iterator
|
std::reverse_iterator<iterator> |
const_reverse_iterator
|
std::reverse_iterator<const_iterator> |
[править] Функции-члены
Создаёт deque (public функция-член) | |
Уничтожает deque (public функция-член) | |
| Задаёт значения в контейнере (public функция-член) | |
| Задаёт значения в контейнере (public функция-член) | |
| Возвращает связанный аллокатор (public функция-член) | |
Доступ к элементам | |
| Предоставляет доступ к указанному элементу с проверкой индекса (public функция-член) | |
| Предоставляет доступ к указанному элементу (public функция-член) | |
| Предоставляет доступ к первому элементу (public функция-член) | |
| Предоставляет доступ к последнему элементу (public функция-член) | |
Оригинал: Iterators Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | |
| Возвращает итератор на первый элемент (public функция-член) | |
| Возвращает итератор на элемент, следующий за последним (public функция-член) | |
| Возвращает обратный итератор на первый элемент (public функция-член) | |
| Возвращает обратный итератор на элемент, следующий за последним (public функция-член) | |
Вместимость | |
| Проверяет отсутствие элементов в контейнере (public функция-член) | |
| Возвращает количество элементов в контейнере (public функция-член) | |
| Возвращает максимально допустимое количество элементов в контейнере (public функция-член) | |
| (C++11) |
Уменьшает использование памяти, высвобождая неиспользуемую (public функция-член) |
Модификаторы | |
| Очищает контейнер (public функция-член) | |
| Вставляет элементы Оригинал: inserts elements Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| (C++11) |
Конструирует элементы "на месте" и вставляет их начиная с заданной позиции pos (public функция-член) |
| Удаляет элементы (public функция-член) | |
| Добавляет элемент в конец (public функция-член) | |
| (C++11) |
Конструирует элементы "на месте" в конце контейнера (public функция-член) |
| Удаляет последний элемент (public функция-член) | |
| вставляет элементы в начало списка (public функция-член) | |
| (C++11) |
конструирует элементы "на месте" в начало списка (public функция-член) |
| удаляет первый элемент (public функция-член) | |
| Изменяет количество хранимых элементов (public функция-член) | |
| Обменивает содержимое (public функция-член) | |
[править] Функции, не являющиеся членами
| Лексикографически сравнивает значения в deque (шаблон функции) | |
| Специализированный std::swap алгоритм (шаблон функции) | |

