- 0
- 0
- 约1.06万字
- 约 20页
- 2019-03-23 发布于湖北
- 举报
界面输入字符串并进行编码进行译码对附件统计字符频率并编码字符{}`~^出现频率最少,编码为:0011001011011,0011001011010,0011001100101,0011001100101和001100101100.字符’空格’,’e’,’t’,’a’,’i’,’s’是出现频率最高,编码为:(好像出错了)编译后的文件大小为:909kb,比原文件小了一半多。源代码:#includestdafx.h#ifndef HUFFMAMCODE_H #defineHUFFMAMCODE_H#includeiostream#includefstreamusingnamespace std;structHuffmanNode//定义哈夫曼树各结点{int weight;int parent;int lchild, rchild;int flag;};classHuffmanCode1//哈夫曼编码类{public:char Info[100];int Start;char Leaf;};classHuffmanTree1//建立哈夫曼树类{private:HuffmanNode *Node;public:int f;HuffmanCode1 *hf;HuffmanTree1();~HuffmanTree1();void TranslatedCode();void CodeHuf(HuffmanNode a[], HuffmanCode1 b[], int n);void CreateHfmTree(char Str[], int m[], int n);void TransCode(HuffmanCode1 b[], int n);void TranslateArtcle(HuffmanCode1 b[], int n);};#endif//HUFFMAMCODE_HHuffmanCode.cpp#includeiostream#includestdio.h#includemath.h#includestdlib.h#includestringusingnamespace std;#defineMAXDATA 100000 //最长字符串#defineMAXSIZE 1500 //最多子叶数///////////读取文件部分功能实现的代码$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$HuffmanTree1::HuffmanTree1(){Node = NULL;} //将树结点初始化为HuffmanTree1::~HuffmanTree1(){delete[] Node;} //释放结点空间voidHuffmanTree1::CreateHfmTree(charStr[], intm[], intn)//建立哈夫曼树{int i, j, m1, m2, x1, x2;HuffmanNode *HfmNode = newHuffmanNode[2 * n - 1];HuffmanCode1 *HfmCode = newHuffmanCode1[n];for (i = 0; i2 * n - 1; i++){HfmNode[i].weight = 0;HfmNode[i].parent = 0;HfmNode[i].flag = 0;HfmNode[i].lchild = -1;HfmNode[i].rchild = -1;}for (i = 0; in; i++){HfmNode[i].weight = m[i];HfmCode[i].Leaf = Str[i];}for (i = 0; in - 1; i++){m1 = m2 = 32767;x1 = x2 = 0;for (j = 0; jn + i; j++){if (HfmNode[j].weight = m1HfmNode[j].flag == 0){m2 = m1;x2 = x1;m1 = HfmNode[j].weight;x1 = j;}elseif (HfmNode[j].weight = m2HfmNode[j].flag == 0){m2 = HfmNode[j].weight;x2 = j;}}HfmNode[x1].parent = n + i;HfmNode[x2].parent = n + i;HfmNode[x1].flag = 1;HfmNode[x2].flag = 1;HfmNode[n + i].weight = HfmNode[x1].weight + HfmNode[x2].weight;HfmNode[n + i].lchild = x1;HfmNode[n + i].rchi
您可能关注的文档
- 生产部岗位说明书.doc
- 生产工人分类定级管理办法.doc
- 生产工人技能等级评聘管理办法.doc
- 生产过程控制程序111.doc
- 生产计划与控制设计.doc
- 生产临建供电方案C版.doc
- 生产流水线产品产量统计显示系统的设计.doc
- 生产实际分析.doc
- 生产实习报告格式.docx
- 生产实习作业.doc
- 解读《法治思想学习纲要》年出版全文解读.ppt
- 第三课计算机操作系统.ppt
- 牛津译林版四年级下册英语《Seasons》课件.pptx
- 浅淡通讯员投稿中应注意的一些问题.pptx
- 气温和降水专业知识讲座.pptx
- 英美伦理片及其思想价值.pptx
- 《目标制定-SMART原则》.ppt
- 5.1 人民代表大会:我国的国家权力机关 课件-2025-2026学年高中政治统编版 必修三政治与法治.pptx
- 2.1 保障各类物权 课 件-2025-2026学年高中政治统编版选择性必修二法律与生活.pptx
- 8.2 诚信经营 依法纳税 课件-2025-2026学年高中政治统编版选择性必修二 法律与生活.pptx
原创力文档

文档评论(0)