根据输入的字符串,计算字符的频率,构建哈夫曼编码
#include<iostream>
#include<string>
#include<map>
using namespace std;
typedef char ** HuffmandCode;
typedef struct node{
int value;
int left,right,parent;
}HTNode,*HuffmandTree;
void select(HuffmandTree HT,int end,int *s1,int*s2)
{
int min1,min2;
int i=1;
while(HT[i].parent!=0&&i<=end)
{
i++;
}//要找到父节点为0的那些节点,她们还没构成树
min1=HT[i].value;
*s1=i;
i++;
while(HT[i].parent!=0&&i<=end)
{
i++;
}
if(HT[i].value<min1)
{
min2=min1;
*s2=*s1;
min1=HT[i].value;
*s1=i;
}
else{
min2=HT[i].value;
*s2=i;
}
for(int j=i+1;j<=end;j++)
{
if(HT[j].parent!=0)
continue;
if(HT[j].value<min1)
{
min2=min1;
*s2=*s1;
min1=HT[j].value;
*s1=j;
}
else if(HT[j].value>=min1&