📄 测试.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#define MaxValue 10000 /*设定的权值最大值*/
#define MaxBit 20 /*设定的最大编码位数*/
#define MaxN 50 /*设定的最大结点个数*/
#include "Haffman.h" /*包含文件Haffman.h*/
void main(void)
{
int i,j,n=15;
int weight[]={1,3,5,7,9,11,13,15,17,19,21,23,25,27,29};
HaffNode *myHaffTree=(HaffNode*)malloc(sizeof(HaffNode)*(2*n+1));
Code *myHaffCode=(Code*)malloc(sizeof(Code)*n);
if(n>MaxN)
{
printf("给出的n越界,修改MaxN!\n");
exit(1);
}
Haffman(weight,n,myHaffTree);
HaffmanCode(myHaffTree,n,myHaffCode);
/*输出每个叶结点的哈夫曼编码*/
for(i=0;i<n;i++)
{
printf("输入的叶结点的权值为:Weight=%d 输出叶结点对应的哈夫曼编码为:Code=", myHaffCode[i].weight);
for(j=myHaffCode[i].start+1;j<n;j++)
printf("%d", myHaffCode[i].bit[j]);
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -