以下代码创建了一个优先级队列,其中存储了 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 以便它检测重复的单词并增加计数变量,而不是添加重复的条目?
最佳答案
由于 std::priority_queue
需要严格的弱排序,您的数据基本上与其不兼容。修改它应该是不可能的。你唯一能做的就是自己重新实现它。以 std::set
作为基本类型应该是个好主意,因为它已经使元素保持排序。
关于c++ - 我可以修改 std::priority_queue 以增加重复数据的计数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319298/