⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hafuman.h

📁 哈弗曼编码的递归实现算法
💻 H
字号:
//程序名:hafuman.h
//程序功能:哈弗曼树类的头文件
//作者:黄秋旋
//2008.12.4
//版本:1.0

#include<iostream>
#include<fstream>
using namespace std;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////

struct HaffNode                            //定义哈夫曼树节点结构
{
	int weight;
	int lchild;
	int rchild;
	int parent;
};


class HaffmanTree             //定义哈弗曼树的类
{
private:
	HaffNode *ht;      //哈弗曼树的节点指针
	int leafnum;       //叶子个数
	char *yezi;        //初始化字符指针
	

public:
	HaffmanTree(){leafnum=0; ht=NULL; yezi=NULL;};      //构造函数
	~HaffmanTree(){};       //析构函数
    int Haffman();    //初始化函数
    void Encode();    //编码函数
    void Decode() ;   //译码函数
	void Print();     //印代码文件函数
    void PrintTree();    //印哈弗曼树函数
    void Printline(HaffNode ht[],char yezi[],int j,int len);    //以凹型表示,印哈弗曼树的递归函数
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -