我可以修改std :: priority_queue来增加重复数据的计数吗?

时间:2013-12-02 01:01:45

标签: c++ c++11 data-structures tree priority-queue

以下代码创建一个优先级队列,用于存储Entry类型。

struct Entry{

    //constructor
    Entry(std::string const& word_)
    : word(word_)
    , count(0)
    {}

    //let's say I overloaded the comparison operators as well.

    //data
    std::string word;
    unsigned int count;
};

std::priority_queue<Entry> entries;

是否可以修改以下priority_queue,以便它检测到重复的单词并递增计数变量,而不是添加重复的条目?

1 个答案:

答案 0 :(得分:1)

由于std::priority_queue需要严格弱排序,因此您的数据基本上与它不兼容。不应该修改它。你唯一能做的就是自己重新实现它。从std::set开始作为基本类型应该是个好主意,因为它已经对元素进行了排序。