#include<stdio.h>
#include<iostream>
#include<string.h>
#include<stdlib.h>
#define MAXVALUE 1000
#define MAXLEAF 30
#define MAXNODE (MAXLEAF*2-1)
#define MAXBIT 10
using namespace std;
typedef char TElemType;
typedef struct {
int weight;
int parent,lchild,rchild;
}HTNode;
typedef struct{
char bit[MAXBIT];
char ch;
int start;
}HTCode;
void HuffmanTree(HTNode HuffNode[],HTCode HuffCode[], int n){//构造哈夫曼树
int i,j,m1,m2,x1,x2;
for(i=0;i<2*n-1;i++){
HuffNode[i].weight=0;
HuffNode[i].parent=-1;
HuffNode[i].lchild=-1;
HuffNode[i].rchild=-1;
}
printf("请输入各个节点的元素:");
for(i=0;i<n;i++)
cin>>HuffCode[i].ch;
for(i=0;i<n;i++){
printf(" %c 的权重:",HuffCode[i].ch);
scanf("%d",&HuffNode[i].weight);
}
for(i=0;i<n-1;i++){
m1
哈夫曼树编码及反编码
最新推荐文章于 2022-10-19 10:31:14 发布