Встроенные структуры данных
В данной статье мы рассмотрим некоторые структуры данных, которые представлены в C++.
Все эти структуры представлены в Стандартной библиотеке шаблонов (STL).
Структура данных - тип организации данных, позволяющий использовать эффективный доступ к модификации данных. Например, массив с константным размером является простейшей структурой данных. В данной статье мы рассмотрим простейшие структуры, такие как map и set. Более подробно структуры данных будут освещены вот здесь.
std::set
Set - множество. А что такое множество? Множество - это набор объектов. В обычном set нет повторяющихся элементов. Важно: set сортирует объекты по возрастанию.
Подключается set следующей строчкой:
А объявляется set вот так:
Так же, как и для vector, для set определён набор методов. В таблице приведены некоторые из них:
insert(…) | Добавить элемент в set |
find(…) | Возвращает итератор на найденный элемент, иначе вернет итератор end |
erase(n) | Удаляет элемент, равный n |
empty() | Возвращает true, если пустой |
clear() | Очищает содержимое |
Ниже в коде приведен пример использования этих методов:
Для того, чтобы хранить несколько одинаковых значений, используйте std::multiset
std::map
std::map являет собой нечто вроде словаря, в нем существуют два параметра - ключ и значение. Пример: пусть у нас есть школьный класс. Тогда нам нужно ответить на вопрос: а сколько школьников того или иного роста у нас есть? В данном случае ключем будет рост, а значением - колличество человек данного роста.
Чтобы использовать std::map, подключаем соответствующий заголовочный файл: <map>.
Все указанные в таблице методы так же относятся и к map.
Так же существует multimap. По аналогии с multiset можно догадаться, что для в multimap существует множество значений для заданного ключа. Multiset подклчается соответствующей библиотекой.