C3D Kernel  104598
Открытые типы | Открытые члены
Шаблон класса sorting_array< KeyType, _Pr >

Динамический контейнер для хранения элементов упорядоченного множества. Тип элемента контейнера должен иметь операторы порядка. Не стоит путать этот тип контейнера с set или map. Он вовсе не обязан всегда поддерживаться в отсортированном состоянии, а только тогда, когда это закажут (с кэшированием алгоритма сортировки). Гарантируется, что вектор отсортирован сразу после вызова функций get_sorted или sort. Константные методы, а также метод erase не нарушают сортировки.
. Подробнее...

Полный список членов класса

Открытые типы

typedef std::vector< KeyType > container_type
typedef container_type::value_type value_type
typedef container_type::size_type size_type
typedef
container_type::const_iterator 
iterator
typedef container_type::iterator _iterator
typedef _Pr key_compare

Открытые члены

std::pair< iterator, iterator > get_sorted ()
const KeyType & sorted_back ()
bool empty () const
iterator begin () const
iterator end () const
_iterator _begin ()
_iterator _end ()
const KeyType & front () const
const KeyType & back () const
void erase (iterator)
void erase (iterator f, iterator l)
bool is_sorted () const
iterator insert (iterator _whereItr, const KeyType &val)
template<class InputIterator >
void insert (iterator position, InputIterator first, InputIterator last)
template<class InputIterator >
void assign (InputIterator first, InputIterator last)
void resize (size_t n, const KeyType &val)
void reserve (size_t n)
void push_back (const KeyType &val)
void sort ()
void clear ()
size_t size () const
KeyType & operator[] (size_t n)
const KeyType & operator[] (size_t n) const

Подробное описание

template<class KeyType, class _Pr = std::less<KeyType>>
class sorting_array< KeyType, _Pr >

Про эффективность

Часто сортированный вектор оказывается более эффективным, чем std::map или std::set, особенно если добавление/удаление элементов массива осуществляется серийно и достаточно редко перемежаются, с запросами быстрого (бинарного) поиска элемента или его места по порядку. В отличие от map или set минимально дефрагментируется память и не требуется избыточной информации для хранения указателей (может занимать в 4 раза меньше памяти). Для быстрых запросов можно применять стандартные алгоритмы, такие как std::binary_search, std::lower_bound и т.п.


Объявления и описания членов класса находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы