题目
赫夫曼编码
解决代码及点评
// 赫夫曼编码.cpp : 定义控制台应用程序的入口点。//#include#include using namespace std;#define MAXBIT 100#define MAXVALUE 10000#define MAXLEAF 30#define MAXNODE MAXLEAF*2 -1typedef struct { int bit[MAXBIT]; int start;} HCodeType; /* 编码结构体 */typedef struct{ int weight; int parent; int lchild; int rchild;} HNodeType; /* 结点结构体 *//* 构造一颗哈夫曼树 */void HuffmanTree (HNodeType HuffNode[MAXNODE], int n){ /* i、j: 循环变量,m1、m2:构造哈夫曼树不同过程中两个最小权值结点的权值, x1、x2:构造哈夫曼树不同过程中两个最小权值结点在数组中的序号。*/ int i, j, m1, m2, x1, x2; /* 初始化存放哈夫曼树数组 HuffNode[] 中的结点 */ for (i=0; i<2*n-1; i++) { HuffNode[i].weight = 0; HuffNode[i].parent =-1; HuffNode[i].lchild =-1; HuffNode[i].lchild =-1; } /* end for */ /* 输入 n 个叶子结点的权值 */ for (i=0; i
代码下载及其运行
代码下载地址:http://download.csdn.net/detail/yincheng01/6858815
解压密码:c.itcast.cn
下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:
1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”
2)在下拉框中选择相应项目,项目名和博客编号一致
3)点击“本地Windows调试器”运行
程序运行结果