使用堆将文本文件输入优先级队列 我尝试用C++中的堆实现优先级队列。下面给出的代码很好。但是我想生成一个包含优先级(整数)和与它相关联的值(char或string)的文件。现在使用此文件作为输入,将其输入到下面的代码中,以按优先级递增的顺序生成一系列值 #
使用堆将文本文件输入优先级队列使用堆将文本文件输入优先级队列 我尝试用C++中的堆实现优先级队列。下面给出的代码很好。但是我想生成一个包含优先级(整数)和与它相关联的值(char或string)的文件。现在使用此文件作为输入,将其输入到下面的代码中,以按优先级递增的顺序生成一系列值 #,c++,priority-queue,C++,Priority Queue,使用堆将文本文件输入优先级队列 我尝试用C++中的堆实现优先级队列。下面给出的代码很好。但是我想生成一个包含优先级(整数)和与它相关联的值(char或string)的文件。现在使用此文件作为输入,将其输入到下面的代码中,以按优先级递增的顺序生成一系列值 #include<queue> #include <utility> int main() { std::priority_queue<std::pair<int, std::string>
我尝试用C++中的堆实现优先级队列。下面给出的代码很好。但是我想生成一个包含优先级(整数)和与它相关联的值(char或string)的文件。现在使用此文件作为输入,将其输入到下面的代码中,以按优先级递增的顺序生成一系列值
#include<queue>
#include <utility>
int main()
{
std::priority_queue<std::pair<int, std::string> > pq;
pq.push(std::make_pair(3, "Clear drains"));
pq.push(std::make_pair(4, "Feed cat"));
pq.push(std::make_pair(5, "Make tea"));
pq.push(std::make_pair(1, "Solve RC tasks"));
pq.push(std::make_pair(2, "Tax return"));
while (!pq.empty())
{
std::cout << pq.top().first << ", " << pq.top().second << std::endl;
pq.pop();
}
return 0;
}
#包括
#包括
int main()
{
std::优先级队列pq;
pq.推送(标准:制作一对(3,“清理排水管”);
pq.推送(标准:制造成对(4,“进给猫”);
产品质量推送(标准:制作配对(5,“泡茶”);
pq.push(标准:制作配对(1,“解决RC任务”);
资格认证推送(标准:制作配对(2,“纳税申报单”);
而(!pq.empty())
{
std::是否要按递增顺序将优先级队列的内容保存到文件中?输入文件将包含(值、优先级)成对,每一对之间用换行符分隔。输出是,按优先级递增的值。到目前为止,您从文件中读取输入的尝试是什么?可能的重复不是“实现”PQ,而是使用PQ,PQ是一个堆。