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) соиЬ << \* это; «»»
|