23 lines
2.2 KiB
Markdown
23 lines
2.2 KiB
Markdown
InlocaleTitle: undefined
|
||
tрождение наборов в библиотеке STL C ++ Наборы - это тип ассоциативных контейнеров, в которых каждый элемент должен быть уникальным. Значение элемента не может быть изменено после его добавления в набор, хотя можно удалить и добавить измененное значение этого элемента. Они реализованы с использованием красно-черного дерева.
|
||
|
||
Преимущества использования наборов
|
||
|
||
1. Он сохраняет только уникальные значения.
|
||
2. Значение элемента идентифицирует себя. Значение элемента также является ключом, используемым для его идентификации.
|
||
3. Обеспечивает быстрый поиск (O (log n)) с использованием ключей, т.е. самого элемента.
|
||
4. Существует множество встроенных функций в наборах, определяющих класс, которые облегчают программирование.
|
||
|
||
Пример: '' 'C ++
|
||
|
||
# включают
|
||
|
||
использование пространства имен std; int main () { задавать s;
|
||
|
||
s.insert (2); // вставляем элемент 2 в набор s s.insert (3); s.insert (5); s.insert (2); // вставка того же элемента 2 s.insert (6); для (auto i: s) cout << i << ""; соиЬ << s.size () << епсИ; // задает размер набора
|
||
|
||
s.erase (5); // стирание элемента 5 из набора s return 0; } «»» Создание заданного объекта '' 'C ++ задавать s; «»»
|
||
|
||
вставка '' 'C ++ s.insert (значение _для_ be\_inserted); «»»
|
||
|
||
Доступ к наборам элементов '' 'C ++ задавать :: iterator it; for (it = s.begin (); it! = s.end (); ++ it) соиЬ << \* это; «»» |