#include<stdio.h>
#include "windows.h"
FILE *hfmTree,*CodeFile;
typedef struct
{
unsigned int weight ;
unsigned int parent,LChild,RChild;
}HuffmanTree;
void select(HuffmanTree *ht,int n,int *s1,int *s2)
{ int i; int min;
for(i=1; i<=n; i++)
{
if(ht[i].parent == 0)
{
min = i; i = n+1;
}
}
for(i=1; i<=n; i++)
{
if(ht[i].parent == 0)
{
if(ht[i].weight < ht[min].weight)
min = i;
}
}
*s1 = min;
for(i=1; i<=n; i++)
{
if(ht[i].parent == 0 && i!=(*s1))
{
min = i; i = n+1;
}
}
for(i=1; i<=n; i++)
{
if(ht[i].parent == 0 && i!=(*s1))
{
if(ht[i].weight < ht[min].weight)
min = i;
}
}
*s2 = min;
}
void CreatHuffmanTree(HuffmanTree *ht,int *w, int n)
{
int m=2*n-1;
int i;
int s1,s2;
for(i=1;i<=m;i++)
{
if(i<=n)
{
ht[i].weight=w[i-1];
}
else
{