#include
using namespace std;
#if !defined(HUFFMANTREE_H)
#define HUFFMANTREE_H/* * 哈夫曼树结构 */
lass HuffmanTree
{
public:
unsigned int Weight;
unsigned int Parent;
unsigned int lChild;
unsigned int rChild;
};
typedef char *HuffmanCode;/ * 从结点集合中选出权值最小的两个结点 * 将值分别赋给s1和s2 /
void Select(HuffmanTree HT,int Count,int *s1,int *s2)
{
unsigned int temp1=0;
unsigned int temp2=0;
unsigned int temp3;
for(int i=1;i<=Count;i++)
{ if(HT[i].Parent== 0)
{
if(temp1== 0)
{
temp1=HT[i].Weight;
(*s1)=i;
}
else
{
if(temp2== 0)
{
temp2=HT[i].Weight;
(*s2)=i;
if(temp2<temp1)
{
temp3=temp2;
temp2=temp1;
temp1=temp3;
t
数据结构哈夫曼树算法
最新推荐文章于 2022-05-01 19:45:22 发布
这段代码展示了如何使用C++实现哈夫曼树,并进行霍夫曼编码。程序首先根据输入文本数据计算字符频率,然后构建哈夫曼树并输出编码结果。用户可以输入任意文本,程序会自动生成霍夫曼编码。
摘要由CSDN通过智能技术生成