霍夫曼算法完整版(可直接在vs运行).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
霍夫曼算法完整版(可直接在vs运行)

#includeiostream #includestdio.h #includestdlib.h #includewindows.h//系统调用 #includewinbase.h//系统调用 //#includeAllNeedFile.h #define TURE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -2 using namespace std; //变量类型 typedef int SElemType; //函数类型 typedef int Status; using namespace std; /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// //全局变量的定义区域 #define NUMBER 52//存数树的数组的最大长度 #define MAX_STACK 15 //堆栈的最大深度 int extor=27; //在构造赫夫曼树过程中,控制结点~19几点的依次后移 bool flag=0; //使flag在和之间动荡,用于控制找到的最小权值结点赋给新结点的做孩子还是有孩子。 //flag=0的时候赋给新结点的左孩子 //flag=1的时候赋给新结点的右孩子 int control=0;//控制次数,使extor每运行两次函数CreateHuffmanTree()而自增 int CODEFORALL[27][27]; //颜色空间的设置参数 //HANDLE h = GetStdHandle( STD_OUTPUT_HANDLE);//控制颜色函数里面的一个参数 //背景颜色的参数 //#define BACKGROUND_RED bred //#define BACKGROUND_BLUE bblue //#define BACKGROUND_GREEN bgreen //前景颜色的参数 //#define FOREGROUND_RED fred //#define FOREGROUND_BLUE fblue //#define FOREGROUND_GREEN fgreen //树的结点结构体定义 typedef struct { unsigned int weight; unsigned int parent,lchild,rchild; }HTNode; //存储编码的结构体定义 typedef struct DuLNode { int code; struct DuLNode *prior,*next; }DuLNode,*DuLiskList; //存储编码的数组 typedef struct CodeArray { char ch; DuLNode *pcode; }CodeArray; //堆栈的结构 typedef struct SS { int *base; int *top; int stacksize; }SqStack; void DATA_REPLACE();//开机动画 void FLASH_SCREEN();//计算中的屏幕闪烁 void InitCODEFORALL();//初始化全局变量CODEFORALL void InitTreeNode(HTNode *treenodes);//初始化二叉树 void ShowTreeNode(HTNode H[]);//显示树信息 void CinCharArray(char ch[]);//用户输入需编码的字母序列 void ShowCharArray(char ch[]);//显示用户输入的字母序列 void CalculateWeight(char ch[],HTNode H[]);//计算个字母的权值,并对树的每个结点的weight赋值 void InitCodeArray(CodeArray code[]);//初始化代码存储空间,使其字母域为a~j void ShowCodeArray1(CodeArray code[]);//显示代码空间目前的值 void GivePersonDataForTree

文档评论(0)

phltaotao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档