【发布时间】:2010-04-23 15:08:45
【问题描述】:
我有一个 STL 容器,里面装满了以下数十亿个对象
pair<SomeClass*, SomeClass*>
我需要以下形式的一些功能
/*returns items sorted biggest first */
bool sortPredicate (pair<SomeClass*, SomeClass*>two, pair<SomeClass*, SomeClass*> one)
{
return ???;
}
有什么技巧可以用来快速比较指针对吗?
编辑 1:澄清
最后我只想对指针对列表进行排序,使所有重复项彼此相邻。假设 SomeClass 中没有明确的方法可用于此目的——我只有指针对,我想找到所有相同的对(并行)。我认为排序可以解决问题,但如果您能想到更好的并行方法,请告诉我。
编辑 2:澄清
修复了我的代码(排序谓词的参数错误——它们应该是对的)。
【问题讨论】:
-
你能不能更具体一点 sortPredicate 应该返回什么?你能举个简单的例子吗(可能是
int*什么的?) -
我希望能够使用指向任意类的指针来做到这一点。指针是每个对象的唯一标识符,因此它们应该用于确定两对这些对象是否重复。
-
好吧,我很困惑。我不知道你想要完成什么。您可能需要考虑提供输入和预期输出的示例。
-
我很困惑。为什么不直接使用默认排序?这将按指针地址对指针对进行排序。
-
你想要所有重复的对象相邻,还是所有重复的指针?