1. 简介
编写代码,能实现对用户输入的数据进行哈夫曼编码,返回哈夫曼编码表。
测试样例与输出
输入:
共7位数字,下图 i = 1~7中的weight (在测试时0.4将用40代替,0.3用30代替,0.15用15代替,以此类推)。
TIP:如果要用小数输入,请将代码部分int 改为 float
输出:
HC[i],即哈夫曼编码表。
2. 代码
#include <iostream>
using namespace std;
typedef struct {
int weight;
int parent, lchild, rchild;
}HTNode,*Huffmantree;
typedef char** Huffmancode;
int HTinit(Huffmantree &t) {
cout << "creating huffmantree: how many characters do you have in this huffmantree?\n";
int n; cin >> n;
if(!(t = new HTNode[2*n])) cout << "create failed: space e