매개 변수 중 하나에 의해 정렬 된 개체의 긴 목록이 필요합니다. C++에서 이렇게하는 가장 빠른 방법은 무엇입니까? 이 목록에 요소를 추가 및 제거하고 해당 매개 변수별로 정렬 할 수 있어야합니다.중복 키로 개체 정렬
Class Foo {
private:
int rank;
}
나는 내 모든 Foo
객체가 오름차순으로 새로운 하나를 추가하거나 순서의 정확한 지점을해야 삭제 에 나열하고자합니다. rank
과 같은 객체가 둘 이상있을 수 있으므로 키 - 값을 사용할 수 없습니다.
어떻게 C++에서이 작업을 수행 할 수 있습니까? make_heap()을보고 있었지만 객체를 사용하는 방법 (또는 사용할 수있는 경우)을 잘 모르겠습니다.
class Foo {
public:
explicit Foo(int rank_init) : rank(rank_init) {}
friend bool operator< (const Foo&, const Foo&);
private:
int rank;
};
:
를 사용하여 표준 : :지도 ... –
또는 오히려 표준 : 설정 - 당신이 요소를 변경할 필요가없는. –
맵에는 고유 한 키가 필요합니다. 시나리오에서는 오브젝트의 매개 변수가 동일한 객체가 여러 개있을 수 있습니다. – networkprofile