我正在尝试使用[[priority_queues并在以下情况下陷入困境。
(1, 4) (2, 4) (3, 4)
(9, 4) (8, 4) (7, 4)
(4, 4) (6, 4) (5, 4)
我想存储此类数据:因此,我尝试了我想以priority_queue<priority_queue<pair<int, int>>> A
,并且此行编译正常(无错误)。因此,我假设它应该是有效的类型。我为什么需要这个?
9,9,9,9, 8,8,8,8, 7,7,...
的降序访问这些整数因此,每个整数应可访问的次数为((整数,次数)
。。现在我不确定如何在此结构中输入值。我正在尝试并遇到的错误是此
for (unsigned int i = 0; i < rows; i++) {
priority_queue<pair<int, int >> temp;
for (unsigned int j = 0; j < cols; j++) {
temp.push(make_pair(i, 0));
}
A.push(temp);
}
任何帮助将不胜感激
std::priotity_queue
中的元素需要进行比较以确定它们的顺序。默认情况下,元素由std::priotity_queue
进行比较,但是您可以提供自己的比较,只要它提供严格弱排序。
[很遗憾,std::less
没有提供任何比较运算符。由于您无法比较两个优先级队列以进行排序,因此我认为无法按照您想要的方式嵌套它们。