霍夫曼树编码的实现
#include 7hT:u/DW1Yc!b1W#include d` ?x$@%En+M8`,[y
#include
#include :o6y(oKU
@!aWu\0y.r
typedef struct)BL XQ*u#E2{%g L
{
unsigned int Weight;
unsigned int Parent;
unsigned int lChild;
unsigned int rChild;h$cp(fA-?
}HTNode,*HuffmanTree;
2b7x0A&m.X9kp
typedef char **HuffmanCode;
int LookFor(char *str,char letter,int count);7Yhj+b7B%@T p\
void OutputWeight(char *Data,int Length,w0E8E[(t6dMGJ p2G
char **WhatLetter,yXh7_\Bq6H-q
int **Weight,int *Count);
void HuffmanCoding(HuffmanTree *HT,7B ^ZP0Q0l)D ?+i
HuffmanCode *HC,
int *Weight,%C1jC XA/y:u8~Ag A:h
int Count);F4TEdw:g$\|
void Select(HuffmanTree HT,int Count,int *s1,int *s2);
int main()kMR9B:z}8cJ
{
HuffmanTree HT;
HuffmanCode HC;
char Data[100];6RQ,a#t!w8`U+sm
char *WhatLetter;}-Pt X]VE
int *Weight;e,ha B'V
int Count;(jE4HFj.NC6@?A
int i;v.P8jR(og
N%H+z hE
printf("Please input the line:");
/* Example: aaaaaaaaaaaaaabcccccc*/|v;JCd qU
scanf("%s",Data);
printf("\n");
OutputWeight(Data,strlen(Data),9fqwn?f4ws)dS
&WhatLetter,xV!c(Q\#_^,D
&Weight,
&Count);jA1T1W%ZE)jVv#l`
HuffmanCoding(&HT,&HC,Weight,Count);