使用堆将文本文件输入优先级队列 我尝试用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是一个堆。