int freq[6][2] = { {0,45000},{1,13000} ,{2,12000} ,{3,16000} ,{4,9000}, {5,5000} };
struct Node {
int fre;
char ch;
Node left, right;
void init() {
left = right = 0;
}
int isLeaf() {
return (left == 0 && right == 0);
}
int hasLeft() {
return left != 0;
}
int hasRight() {
return right != 0;
}
include
using namespace std;
include
define MAX 100
int freq[6][2] = { {0,45000},{1,13000} ,{2,12000} ,{3,16000} ,{4,9000}, {5,5000} };
struct Node { int fre; char ch; Node left, right;
};
struct minHeap { Node *heap[MAX]; int size;
};
struct HuffmanTree { minHeap minheap; Node nodeArr[MAX]; int size;
};
int main() { HuffmanTree hufftree; hufftree.init(); cout << "MAKE TREE " << endl; hufftree.makeTree(); hufftree.getAlpha((char)"0"); hufftree.getAlpha((char)"100"); hufftree.getAlpha((char)"101"); hufftree.getAlpha((char)"111"); hufftree.getAlpha((char)"1100"); hufftree.getAlpha((char)"1101"); hufftree.getAlpha((char*)"11010"); }