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


multiset Class

Стандартная библиотека шаблонов мультинабора класс используется для хранения и извлечения данных из коллекции, в которой значения элементов не обязательно уникальным и в которой они служат в качестве ключевых значений, согласно которым данные автоматически упорядочены.Значение ключа элемента в мультинабора не может быть изменен непосредственно.Вместо этого необходимо удалить старые значения и вставки элементов с новыми значениями.

template <
   class Key, 
   class Compare=less<Key>, 
   class Allocator=allocator<Key> 
>
class multiset

Параметры

  • Ключ
    Тип данных элемента, хранимой в мультинабора.

  • Сравнение
    Тип, который содержит объект-функцию, можно сравнить значения двух элементов как ключи сортировки для определения их относительного порядка мультинабора.Двоичный предикат меньше<Key> значение по умолчанию.

  • Allocator
    Тип, представляющий объект хранимых распределителя, инкапсулирующий сведения о мультинабора выделения и освобождения памяти.Значение по умолчанию — распределитель*<Key>.*

Заметки

STL мультинабора класс:

  • Ассоциативный контейнера, который является контейнером переменного размера, поддерживающий эффективного извлечения значения элемента связанного значения ключа.

  • Двустороннее, так как он предоставляет двунаправленные итераторы для доступа к его элементам.

  • Сортировка, так как его элементы упорядочены по значениям ключей в контейнере в соответствии с функцией сравнения указанного.

  • Несколько в том смысле, что его элементов не требуется иметь уникальные ключи, таким образом, чтобы одно значение ключа может иметь множество связанных с ним значений элемента.

  • Простой контейнер ассоциативный за его значения ключа значений его элементов.

  • Класс шаблона, так как она обеспечивает функциональные возможности универсального и поэтому зависит от определенного типа данных, содержащихся как элементы.Тип данных, используемый вместо этого указанным в качестве параметра шаблона класса вместе с функцией сравнения и распределитель.

Итератор, предоставленных классом мультинабора является двунаправленный итератор, но функции-члены класса Вставить и мультинабора версий, которые принимают в качестве параметров шаблона слабых ввода итератора, требования к функциональным возможностям более минимальны, чем гарантируется с помощью класса двунаправленные итераторы.Понятия другой итератора образуют семейство связанных путем уточнения их функций.Каждый итератор концепция имеет свои требования и алгоритмы, которые работают с ними необходимо ограничить их предположения требования по данному типу итератора.Возможно предполагается, возможно итератор ввода сбросил ссылку на некоторый объект, и что он может увеличивается итератор следующей последовательности.Это минимальный набор функций, но это достаточно, чтобы иметь возможность осмысленно обсуждать диапазон итераторы [_First, _Last) в контексте функции-члены класса.

В целом Выбор типа контейнера должно быть основано на тип поиска и вставки необходимые для приложения.Ассоциативные контейнеры оптимизированы для операций поиска, вставки и удаления.Функции-члены, которые явно поддерживает эти операции, эффективно выполняя их в течение времени, в среднем, пропорционален логарифму числа элементов в контейнере.Вставка элементов делает недействительным не итераторов и удаление элементов делает недействительным только итераторов, которые специально указывает на удаленные элементы.

Мультинабора должен быть ассоциативный контейнера выбором при условиях, сопоставление значения с их ключей удовлетворяет этим приложением.Элементы мультинабора может быть несколько и служить собственные ключи сортировки, поэтому ключи не являются уникальными.Модель для данного типа структуры — это упорядоченный список, скажем, слова, в которых слова может встречаться несколько раз.Было несколько вхождений слов не был разрешен, и набор был бы структура соответствующего контейнера.Если уникальный определения были вложены, как значения в список уникальных ключевых слов, карта будет соответствующие структуры для хранения данных.Если вместо этого определения не были уникальными, несколько карт бы контейнеров выбора.

Мультинабор упорядочивает элементы последовательности, управляет путем вызова метода объекта хранимой функции типа Compare.Это сохраненного объекта является функция сравнения, которая может осуществляться путем вызова функции-члена key_comp.В целом элементы должны быть меньше, чем просто сравним этот порядок установления: таким образом, учитывая любые два элемента, он может определить что они эквивалентны (в том смысле, что не меньше, чем другие) или что один меньше другого.Это приводит в заказе между nonequivalent элементами.Технические заметки функцию сравнения является двоичный предикат, который вызывает strict слабое упорядочение стандартных математических смысле.Двоичный предикат f(x,y) — объект функции, который имеет два аргумента x и y и возвращаемое значение значение true, или значение false,.Заказ на набор является строго слабый порядок двоичной предиката, irreflexive, antisymmetric и транзитивные и если эквивалентности является транзитивным, где двух объектов x и y для эквивалентных при обоих f(x, y) и f(y, x) равны false.Если более надежные условия равенства между клавишами заменяет, эквивалентности, упорядочение становится всего (в том смысле, что все элементы упорядочены по отношению к друг другу), а соответствующие ключи будут indiscernible друг от друга.

w5txk7zc.collapse_all(ru-ru,VS.110).gifКонструкторы

мультинабор

Создает multiset , пустой или, копировать все или часть указанной multiset.

w5txk7zc.collapse_all(ru-ru,VS.110).gifОпределения типов

allocator_type

Typedef для allocator класса для multiset объект.

const_iterator

Typedef двунаправленный итератор, который может прочитать const элемент в multiset.

const_pointer

Typedef для указателя на const элемент в multiset.

const_reference

Определение типа для ссылки на const элемент хранится в multiset для чтения и выполнения const операций.

const_reverse_iterator

Typedef двунаправленный итератор, который может прочитать любой const элемент в multiset.

difference_type

Typedef целое число со знаком для количества элементов multiset в диапазоне между элементами, на которые указывает итераторов.

итератор

Typedef двунаправленный итератор, который можно прочитать или изменить любой элемент в multiset.

key_compare

Определение типа для объекта function, можно сравнить два ключа определяет относительный порядок двух элементов в multiset.

key_type

Определение типа для объекта function, можно сравнить два ключа сортировки определяет относительный порядок двух элементов в multiset.

указатели

Typedef для указателя на элемент в multiset.

Ссылка

Определение типа для ссылки на элемент хранится в multiset.

reverse_iterator

Typedef двунаправленный итератор, который можно прочитать или изменить элемент в обратном multiset.

size_type

Введите целое число без знака, который может представлять число элементов в multiset.

value_compare

Определение типа для объекта function, можно сравнить два элемента как ключи сортировки для определения их относительного порядка в multiset.

value_type

Определение типа, который описывает объект хранится в виде элемента в качестве multiset в его емкости как значение.

w5txk7zc.collapse_all(ru-ru,VS.110).gifМетоды

begin

Возвращает итератор, который указывает на первый элемент в multiset.

clear

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

count

Возвращает количество элементов в multiset , ключ которого совпадает с ключом, указанным в качестве параметра.

empty

Проверяет ли multiset является пустым.

end

Возвращает итератор, который указывает на местоположение после последнего элемента в multiset.

equal_range

Возвращает пара итераторов.Первый итератора в паре указывает на первый элемент в multiset с ключом, который больше, чем указанный ключ.Второй итератора в пунктах пары для первого элемента в multiset с ключом, который равен или больше, чем ключ.

стереть

Удаляет элемент или набор элементов в multiset из указанной позиции или удаляет элементы, которые соответствуют заданному ключу.

find

Возвращает итератор, который указывает на первое место элемента в multiset , который имеет ключа равным заданному ключу.

get_allocator

Возвращает копию allocator объект, который используется для создания multiset.

Вставка

Вставляет элемент или набор элементов в multiset.

key_comp

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

lower_bound

Возвращает итератор на первый элемент в multiset с ключом, который равен или больше, чем указанный ключ.

max_size

Возвращает максимальную длину multiset.

rbegin

Возвращает итератор, который указывает на первый элемент в обратном multiset.

rend

Возвращает итератор, который указывает на местоположение, последующие последнего элемента в обратном multiset.

size

Возвращает количество элементов в multiset.

горячей замены

Обменивается элементы двух multisets.

upper_bound

Возвращает итератор на первый элемент в multiset с ключом, который больше, чем указанный ключ.

value_comp

Возвращает копию объекта сравнения, используемый для значения элемента заказа в multiset.

Требования

Заголовок: <set>

Пространство имен: std

См. также

Ссылки

Потокобезопасность в стандартной библиотеке C++

Стандартная библиотека шаблонов

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

члены multiset

Члены <установка>