Контейнеры STL. Деки (общие сведения)

   
На этом шаге мы приведем общие сведения о деках.

   
Дек очень похож на вектор. Он тоже работает с элементами, оформленными в динамический массив, поддерживает произвольный
доступ и обладает практически тем же интерфейсом. Различие заключается в том, что динамический массив дека открыт с обоих концов.
По этой причине дек быстро выполняет операции вставки и удаления как с конца, так и с начала.


Рис.1. Логическая структура дека

   
Дек обычно реализуется в виде набора блоков; первый и последний блоки наращиваются в противоположных направлениях.


Рис.2. Внутренняя структура дека

   
Чтобы использовать дек в программе, необходимо включить в нее заголовочный файл <deque>:

  #include <deque>

   
Тип дека определяется как шаблон класса в пространстве имен std:

namespace std {
  template <class Т,
            class Allocator = allocator<T> > 
  class deque;
}

   
Как и в случае с вектором, тип элементов дека передается в первом параметре шаблона. Допускается любой тип, поддерживающий
присваивание и копирование. Необязательный второй параметр шаблона определяет модель памяти, по умолчанию используется
модель allocator.

   
На следующем шаге мы рассмотрим возможности деков.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий