【发布时间】:2012-04-10 22:30:05
【问题描述】:
我需要一长串按其中一个参数排序的对象。在 C++ 中最快的方法是什么?我需要能够在此列表中添加和删除元素,并且仍按该特定参数排序。
Class Foo {
private:
int rank;
}
我希望我的所有Foo 对象按升序排列,添加或删除新对象时,它应该按顺序排列在正确的位置。也可以有多个对象具有相同的rank,因此键值对是不可能的。
知道如何在 C++ 中做到这一点吗?我正在查看make_heap(),但我不确定如何将它与对象一起使用(或者是否可以使用)。
【问题讨论】:
-
或者更确切地说是 std::set - 除非您需要更改元素。
-
虽然地图需要一个唯一键,但在我的场景中,可能有多个对象,其中我想要订购的对象的参数是相同的