У меня есть два набора, Set1, Set2. Оба являются наборами пар (pair <int,int>
).Компараторы пользовательских наборов для набора пар в C++
Теперь Set1, я хочу компаратор как
set1Comparator(pair p1, pair p2)
{
if(p1.first != p2.first)
return p1.first < p2.first;
else
return p1.second < p2.second;
}
И Set2, я хочу компаратор как
set2Comparator(pair p1, pair p2)
{
if(p1.first != p2.first)
return p1.first > p2.first;
else
return p1.second > p2.second;
}
Пожалуйста, помогите. FYI, я проверил так много ссылок на C++ set compator, но ни один из них не помог мне определить set-comparator для специфический. (Означает, если я определяю один компаратор для набора пар, тогда set1 и set2 будут использовать одинаковые компаратор, где set1 и set2 - пары).
Конструктор для std :: set принимает функцию сравнения в качестве параметра - см. Http://en.cppreference.com/w/cpp/container/set/set –
@Neil Спасибо :) –
Я никогда не понимал смысла в такие вопросы .. _I проверил так много ссылок на C++ set comparator_ Но почему вы не проверили документацию (связанную с Нилом)? Это ваше первое место, если вы хотите узнать, поддерживает ли определенный класс определенные функции. –