Задание № 1026

Студент

Чертовских Павел

Задача

Пользовательский класс в unordered_set

Состояние

Открыто

Дедлайн
19 сентября 2017
Назначено

05.09.2017, 09:04

Задание

Используя шаблоны функций и частичную специализацию шаблонов добиться корректного использования пользовательского класса в коллекциях unordered_map, unordered_set.

Описание

Неупорядоченные коллекции реализованы на базе хеш-таблиц. Для манипулирования элементами (ключами) коллекции необходимо уметь строить хеш от элемента и сравнивать два элемента коллекции. Для встроенных или стандартных типов данных хеш-функция и операция сравнения уже определены. Для пользовательских классов хеш-функцию и сравнение необходимо реализовать самостоятельно.

Пример

#include <unordered_set>

class Point {
    int x, y; 
};

// ...
// Point p, p1, p2;
// хеш от p: p.x^p.y, 
// сравнение p1 и p2:  (p1.x==p2.x) && (p1.y==p2.y)
// ...

std::unordered_set < Point > s;

Действия