исваивания. Контейнеры различа

Автор admin Пятница, 5 июня 2009 11:32

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


Комментарии закрыты.