priority_queue简单用法

来源:互联网 发布:python文本相似性 编辑:程序博客网 时间:2024/06/07 03:27
#include <fstream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <cstdlib>using namespace std;#define max_char_num 10typedef struct treeNode {    int freq;    char ch;    treeNode * lchild, *rchild;    treeNode() :freq(0),ch('\0'),lchild(nullptr),rchild(nullptr){};    bool operator< (treeNode * b) {        return this->freq > b->freq;    }}treeNode,* tree;struct cmp {    bool operator() (treeNode * a,treeNode * b) {        return a->freq>b->freq;    };};priority_queue<treeNode *, vector<treeNode *>,less<treeNode *>> qpue2;priority_queue<treeNode *, vector<treeNode *>, cmp> pque;priority_queue<int, vector<int>, greater<int>> A;void createHuffTree() {}int main() {    ifstream ifs;    ifs.open("huffman.in");    vector<int> vfreq;         vector<char> vch;    //一行一行读入,存入vector中;getline(ifstream,string)是将每一行读入数组中    while (!ifs.eof()) {          char ch_temp;        int freq_temp;        ifs >> ch_temp;        ifs >> freq_temp;        vch.push_back(ch_temp);        vfreq.push_back(freq_temp);    }    for (int i = 0; i < vch.size() ; i++) {        std::cout << vch[i] << " ";        std::cout << vfreq[i] << " ";        std::cout << std::endl;    }        ifs.close();    return EXIT_SUCCESS;}

运行结果

原创粉丝点击