• 大小: 9KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-09
  • 语言: C/C++
  • 标签: huffmantree  

资源简介

1、输入一段100—200字的英文短文,存入一文件a中。 2、写函数统计短文出现的字母个数n及每个字母的出现次数 3、写函数以字母出现次数作权值,建Haffman树(n个叶子),给出每个字母的Haffman编码。 4、用每个字母编码对原短文进行编码,码文存入文件b中。 5、用Haffman树对b中码文进行译码,结果存入文件c中,比较a,c是否一致,以检验编码、译码的正确性。

资源截图

代码片段和文件信息

#include
#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int a[27];                  //存储每个字母出现的次数
char s[1000000];
//int n;
int m;      //一共多少个点
int num=0;    //叶子节点个数
int len;
map v;  //对应的字母和出现的次数
typedef struct{
    char c;
    int weight;  //权重
    int parentlchildrchild;  //节点的双亲下标,左右孩子的下标
    char code;                   //结点编号
}htnode*huffmantree;

//统计短文出现的字母种数和每个字母出现的次数
void f1(){
    FILE *fi=freopen(“a.txt““r“stdin);
    gets(s);                //gets()读入时空格也读入,直到遇到回格键
     len=strlen(s);
    cout<    for(int i=0;i
        if(s[i]-‘a‘>=0&&s[i]-‘a‘<=

评论

共有 条评论

相关资源