Задача «Гистограмма»
Необходимо разработать класс для работы с гистограммой (частотным словарём).
Входные данные
Файл с последовательностью каких-либо идентификаторов (например, чисел). Пример фрагмента файла:
... 1 2 3 1 2 3 56 5 6 7 5 6 7 ...
Задача
Реализовать класс «Гистограмма» с поддержкой следующей функциональности:
- Хранение словаря пар «идентификатор — количество вхождений».
- Создание гистограммы по набору идентификаторов.
- Создание гистограммы по другой гистограмме (конструктор копирования).
- Возможность итерирования по гистограмме. Методы
begin()
и end()
.
- Сложение с другой гистограммой (перегрузка
operator+
).
- Вычитание другой гистограммы (перегрузка
operator-
).
- Проверка равенства двух гистограмм (перекрытие
operator==
).
Тестирование
Необходимо реализовать тесты на каждый метод.