我正在使用min堆开发一个解决方案,除了自定义比较器之外,它还需要支持删除任何元素。完全自定义堆驱动是一种方法。但我想依靠C++ STL来实现所需的操作。C++文档和StackOverflow应答指示我使用自定义类和重载自定义remove方法。我还在同一个类中重载了自定义比较器。Custom comparator called" << endl; <----------- Never called
我不明白自定义比较器是如何在C++中工作的。幕后到底发生了什么?假设我们的比较器comp(x,y)有两个参数x和y,我们使用这个比较器函数来表示向量vector<int> v (size),比如std::sort()或priority_queue。在运行时传递给comp()的数组元素的顺序.是不是就像->comp(v[1],v[2])
对于任何一种习惯的比较,规则是什么?