Поделиться через


deque (STL/CLR)

Класс-шаблон описывает объект, элементы управления менять-длины последовательность элементов, имеющим прямой доступ.Контейнер deque используется для управления последовательность элементов, которые выглядят непрерывный блок хранения, но может быть увеличена или уменьшена в конце без необходимости копировать все оставшиеся элементы.Таким образом, он может реализовать эффективно double-ended queue.(Имя) соответственно.

В приведенном ниже описании GValue так же, как и Value если последний не будет типа ref. в этом случае это Value^.

template<typename Value>
    ref class deque
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IDeque<GValue>
    { ..... };

Параметры

  • GValue
    Универсальный тип элементов в управляемой последовательности.

  • Значение
    Тип элемента в управляемой последовательности.

Члены

Определение типа

Описание

deque::const_iterator (STL/CLR)

Тип постоянного итератора для управляемой последовательности.

deque::const_reference (STL/CLR)

Тип постоянной ссылки на элемент.

deque::const_reverse_iterator (STL/CLR)

Тип постоянного обратного итератора для управляемой последовательности.

deque::difference_type (STL/CLR)

Тип подписанного диапазона от 2 элементами.

deque::generic_container (STL/CLR)

Тип универсального интерфейса для контейнера.

deque::generic_iterator (STL/CLR)

Тип итератора для универсального интерфейса для контейнера.

deque::generic_reverse_iterator (STL/CLR)

Тип обратного итератора для универсального интерфейса для контейнера.

deque::generic_value (STL/CLR)

Тип элемента для универсального интерфейса для контейнера.

deque::iterator (STL/CLR)

Тип итератора для управляемой последовательности.

deque::reference (STL/CLR)

Тип ссылки к элементу.

deque::reverse_iterator (STL/CLR)

Тип обратного итератора для управляемой последовательности.

deque::size_type (STL/CLR)

Тип подписанного диапазона от 2 элементами.

deque::value_type (STL/CLR)

Тип элемента.

Функция-член

Описание

deque::assign (STL/CLR)

Заменяет все элементы.

deque::at (STL/CLR)

Осуществляет доступ к элементу, находящемуся в указанной позиции.

deque::back (STL/CLR)

Обращается к последнему элементу.

deque::begin (STL/CLR)

Задает начало управляемой последовательности.

deque::clear (STL/CLR)

Удаляет все элементы.

deque::deque (STL/CLR)

Создает объект контейнера.

deque::empty (STL/CLR)

Проверяет, не присутствуют ли элементы.

deque::end (STL/CLR)

Задает конец управляемой последовательности.

deque::erase (STL/CLR)

Удаляет элементы в указанных положениях.

deque::front (STL/CLR)

Осуществляет доступ к первому элементу.

deque::insert (STL/CLR)

Добавляет элементы в заданной позиции.

deque::pop_back (STL/CLR)

Удаляет последний элемент.

deque::pop_front (STL/CLR)

Удаляет первый элемент.

deque::push_back (STL/CLR)

Добавляет новый последний элемент.

deque::push_front (STL/CLR)

Добавляет новый первый элемент.

deque::rbegin (STL/CLR)

Задает начало обратной управляемой последовательности.

deque::rend (STL/CLR)

Задает конец обратной управляемой последовательности.

deque::resize (STL/CLR)

Изменяет количество элементов.

deque::size (STL/CLR)

Подсчитывает количество элементов.

deque::swap (STL/CLR)

Меняет местами содержимое двух контейнеров.

deque::to_array (STL/CLR)

Копирует управляемую последовательность, в новый массив.

Свойство.

Описание

deque::back_item (STL/CLR)

Обращается к последнему элементу.

deque::front_item (STL/CLR)

Осуществляет доступ к первому элементу.

Оператор

Описание

deque::operator!= (STL/CLR)

Указывает, deque 2 объекта не равны.

deque::operator[] (STL/CLR)

Осуществляет доступ к элементу, находящемуся в указанной позиции.

operator< (deque) (STL/CLR)

Определяет, если объект deque, чем другой объект deque.

operator<= (deque) (STL/CLR)

Определяет, является ли объект deque меньше или равно другому объекту deque.

operator= (deque) (STL/CLR)

Заменяет управляемую последовательность.

operator== (deque) (STL/CLR)

Определяет, является ли объект deque равен другому объекту deque.

operator> (deque) (STL/CLR)

Определяет, является ли объект deque больше, чем другой объект deque.

operator>= (deque) (STL/CLR)

Определяет, является ли объект deque больше или равно другому объекту deque.

Интерфейсы

Интерфейс

Описание

ICloneable

Повторяющиеся объект.

IEnumerable

Последовательность через элементы.

ICollection

Обслуживание группу в составе элементы.

IEnumerable<T>

Последовательность через типизированные элементы.

ICollection<T>

Обслуживание группу в составе типизированные элементы.

IList<T>

Maintain приказало группу в составе типизированные элементы.

IDeque<Значение>

Универсальный шаблон контейнер службы.

Заметки

Объект выборки и хранилище свободенов для последовательности она контролирует через сохраненные массив дескрипторов, обозначенные блоки элементов Value.Массив растет по запросу.Рост происходит таким образом, что стоимость или добавляя или добавить новый элемент постоянным время, а оставшиеся элементы не нарушены.Можно также удалить элемент в конце в константные времени, и не нарушая остальных элементов.Таким образом, deque хорошим кандидатом для основного контейнера для класса queue (STL/CLR) шаблона или класса stack (STL/CLR) шаблона.

Объект deque поддерживает произвольно-доступные итераторы, что означает, что можно обратиться к элементу непосредственно заданным свою числовую позицию, подсчитывая для первого (с нуля) элемента, к deque::size (STL/CLR) переднего () - 1 для последнего элемента (обратного).Это также означает, что deque хорошим кандидатом для основного контейнера для класса priority_queue (STL/CLR) шаблона.

Итератор deque хранит маркер в связанный обработчик действия deque объекту вместе с смещением элемента он обозначает.Итераторы можно использовать только с их соответствующими объект-контейнерами.Смещение элемента deque not обязательно совпадают с его положение.Первый вставленный элемент содержит косую нулю, следующий добавленный элемент имеет пишется сбоку 1, но следующий добавляется элемент имеет пишется сбоку -1.

Вставка или стирание элементов на любом конце делают not изменяют значение элемента, хранящегося в допустимом смещением.Вставка или стирающ внутренний элемент, однако изменение can значение элемента, сохраненного с заданного смещения, поэтому значение может также изменить выделенный итератором.(Контейнер может копировать элементы вверх или вниз для создания открытие перед вставкой или заполнить открытие после erase). Однако итератор deque остается допустимым, пока его смещение указывает на допустимый элемент.Кроме того, остается допустимым итератор dereferencable -- его можно использовать для доступа или изменения значения элемента он обозначает -- пока его смещение не равно смещению для итератора, возвращаемого end().

Стирающ или удаление элемента вызывает деструктор для своего, хранящиеся значения.Разрушать контейнер стирает все элементы.Таким образом, контейнер, тип элементов которого класс ref гарантирует, что элементы не переживают контейнер.Однако следует отметить, not удаляет контейнер маркеров делает его элементы.

Требования

заголовок: <cliext/deque>

Cliext пространство имен:

См. также

Ссылки

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Другие ресурсы

Ссылка библиотека STL/CLR