Есть multiset<multiset<int>> cnt;
Хочу отсортировать cnt по последнему элементу multiset-ов.
Как это сделать?
Нужно передать std::multiset
собственную операцию сравнения. Сравнение должно быть строгим слабым. Или по-простому - операция "меньше". Это должно быть нечто, что можно вызвать как функцию с двумя аргументами, и получить bool
на выходе. Агрументы должны быть того типа, который храниться в контейнере - в вашем случае std::multiset<int>
Я, для таких целей, предпочитаю использовать структуру с оператором ()
. Но вы можете использовать функцию или лямбду.
struct LastElementLess{
bool operator()(const std::multiset<int> &first, const std::multiset<int> &second) const{
if(second.empty()){
return false;
}
if(first.empty()){
return true;
}
return *first.rbegin() < *second.rbegin();
}
};
//...
std::multiset<std::multiset<int>, LastElementLess> ssi
Пример
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В Visual C++ рекомендуется использовать функцию strcat_s, и другие функции с _s на концеОна принимает размер буфера, по этому при ее использовании...
Нашел задачу на двумерный массив и не понятно как код писать, сам недавно начал учит с++
Найти сумму положительных элементов массива A = {a [i]}, что удовлетворяют условию: b <= a [i] <= dНаписал код но не могу понять почему оно не работает...
Как сделать запуск программы из CLion в стандартную консоль OS, а не в встроенную в CLion?