我有一个STL地图这类型的键排序列表:好的算法把STL的地图变成基于数值
map<Object*, baseObject*>
其中
class baseObject{
int ID;
//other stuff
};
如果我想返回对象列表(std :: list < Object *>),按照baseObject.ID的顺序对它进行排序的最佳方法是什么?
我是不是正在寻找每一个数字或东西?我不希望地图改为升压地图,虽然我不一定是对做的事情是包含在返回函数中自我像
GetObjectList(std::list<Object*> &objects)
{
//sort the map into the list
}
编辑:也许我应该遍历和复制OBJ - > baseobj到baseobj.ID-> obj的映射中?
是否有'std :: list'的具体原因?排序'std :: vector'可以更高效,因为排序算法可以依赖列表中不可用的随机访问迭代器。 –
不是,但那不是主要问题。列表/向量是关键字,而不是值,所以我需要以某种方式得到它。 – Jordan
因此,您想根据*值*的属性对*键*进行排序?这是否正确理解? – jalf