#include <fstream>
#include <cstdio>
#include <string>
#include <algorithm>
#include <vector>
#include <cstdlib>
using namespace std;
#define max_char_num 10
typedef 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;
}
priority_queue简单用法
最新推荐文章于 2023-06-03 15:50:08 发布