Справочник по C/C++
set

Класс set поддерживает множество, в котором не уникальным(в общем случае) ключам соответствуют определенные значения. Спецификация его шаблона имеет следующий вид

template ,
class Allocator = allocator> class set

Здесь Key - тип данных ключей, a Comp - функция, которая сравнивает два ключа. Класс set имеет следующие конструкторы.

explicit set(const Comp &cmpfn = Comp(), const Allocator &a = Allocator));
set(const set &ob);
template setdnlter start, InIter end,
const Comp &cmpfn = Comp(), const Allocator &a = Allocator());

Первая форма конструктора создает пустое множество, Вторая создает множество, которое содержит те же элементы, что и множество ob. Третья создает множество, которое содержит элементы в диапазоне, заданном параметрами start и end. Функция, заданная параметром cmpfn(если она задана), определяет упорядочение множества.

Для класса set определены следующие операторы сравнения: ==, <, <=, !=, > и >=.

Класс multiset содержит перечисленные ниже функции-члены.

Функция-член Назначение
iterator begin();
const_iterator begin() const;
Возвращает итератор для первого элемента в множестве
void clear(); Удаляет все элементы из множества
size_type count(const key_type &k) const; Возвращает число вхождений значения k в множестве
bool empty() const; Возвращает true, если данное множество пустое, и false в противном случае
iterator end();
const_iterator end() const;
Возвращает итератор для конца множества
pair equal_range(const key_type &k) const; Возвращает пару итераторов, которые указывают на первый и последний элементы в множестве, содержащие заданный ключ
void erase(iterator i); Удаляет элемент, на который указывает итератор i
void erase(iterator start, iterator end); Удаляет элементы в диапазоне, заданном параметрами start и end
size_type erase(const key_type &k); Удаляет из множества элементы, ключи которых имеют значение k. Возвращает количество удаленных элементов
iterator find(const key_type &k); Возвращает итератор для заданного ключа. Если этот ключ не обнаружен, возвращает итератор для конца множества
allocator_type get_allocator() const; Возвращает распределитель множества
iterator insert(iterator i, const value_type &val); Вставляет значение val в позиции или после элемента, заданного итератором i. Элементы-дубликаты не вставляет. Возвращает итератор для этого элемента
template void insert(InIter start, Inlter end); Вставляет элементы заданного диапазона. Элементы-дубликаты не вставляет
pair insert(const value_type &val); Вставляет значение val в используемое множество. Возвращает итератор для вставленного элемента. Элемент вставляет только в том случае, если его еще нет в отображении. Если элемент был вставлен, возвращает пару pair. В противном случае возвращает пару pair
key_compare key_comp() const; Возвращает объект функцию, которая сравнивает ключи
iterator lower_bound(const key_type &k) const; Возвращает итератор для первого элемента в множестве, ключ которого равен значению k или больше этого значения
size_type max_size() const; Возвращает максимальное число элементов, которое может содержать данное множество
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
Возвращает реверсивный итератор для конца множества
reverse_iterator rend();
const_reverse_iterator rend() const;
Возвращает реверсивный итератор для начала множества
size_type size() const; Возвращает текущее число элементов в множестве
void swap(set &ob); Выполняет обмен элементами данного множества и множества ob
iterator upper_bound(const key_type &k) const; Возвращает итератор для первого элемента в множестве, ключ которого больше заданного значения k
value_compare value_comp() const; Возвращает объект-функцию, которая сравнивает значения






Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: