2009-11-05 21 views
2

另一排序是有一个数据结构,其唯一地存储其元素(对于给定的比较 - 函子),但相对于答案为最高元件查询在该数据结构到另一个比较函数?数据结构,用于存储唯一要素,而是应答查询,以在C++

例如:我有两个属性的类:
1)的尺寸
2)的值

我想有存储唯一地关于其大小,但答案的所有元素的数据结构查询具有最高值的元素。
使用的std ::有比较仿函数设置大小给我的唯一,但为最高值查询将具有线性运行...
有没有更好的办法?

(我会“添加元素然后询问最高值”,并保持这个迭代,直到达到了一定的终止点)

的任何信息,将不胜感激(论文等)

回答

8

Boost::MultiIndex想到了。

+1

你打败了我。 – 2009-11-05 10:43:51

+0

大家好,谢谢大家的回答!在我看来,这应该/可能是一般的知识,因此我将不得不熟悉提升库... – Dane 2009-11-05 11:40:17

+0

@Dane:它不会伤害;)但我不会知道那个特定的lib如果我以前没有搜索过类似的东西。 – peterchen 2009-11-05 12:09:22

0

难道是一个kd-tree(k维树)?在你的情况下,K为2。

+0

我猜...但实施peterchen的解决方案要复杂得多 – 2009-11-05 10:45:28

相关问题