У меня есть вектор следующего типа:C++ сортировка с обычаем функции сравнения
std::vector< std::pair< std::pair< int, int >, std::vector<float> > > neighbors;
Я хотел бы создать своего рода следующий вектор следующим
std::sort(neighbors.begin(), neighbors.end(), myFunc(index));
где,
bool myFunc(const std::pair< std::pair< int, int >, float > &a, const std::pair< std::pair< int, int >, float > &b, const int index){
return (a.second[index] > b.second[index]);
}
Я знаю, что синтаксис неверен, но я хочу предоставить индекс для сравнения только этого элемента вектора.
Я не уверен, как передать этот аргумент myFunc.
Сторона Примечание: вы можете заменить std :: pair более описательной версией –
«Сравнивая только этот элемент» ... с чем? вам нужны два элемента для сравнения. – Octopus