哈夫曼树的创建及输出
#include< iostream>
#include<stdlib.h>
using namespace std;
typedef struct
{
int weight;
int parent, lchild, rchild;
}HTNode, *HuffmanTree;
void Select(HuffmanTree &HT, int k, int &s1, int &s2)
{
for (int i = 1; i <= k; i++)
{
if (HT[i].parent == 0)
{
s1 = i;
break;
}
}
for (int i = 1; i <= k; i++)
{
if (HT[i].parent == 0)
{
if (HT[i].weight < HT[s1].weight)
{
s1= i;
}
}
}//权值最小值序号s1
for (int i = 1; i <= k; i++)
{
if ((HT[i].parent == 0)&&(i!=s1))
{
s2 = i;
break;
}
}
for (int i = 1; i <= k; i++)
{
if (HT[i].parent == 0)
{
if ((HT[i].weight < HT[s2].weight) &a