#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
数据结构哈夫曼树算法
最新推荐文章于 2023-01-09 19:20:47 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)