数据结构课程设计作业 哈夫曼编码/译码器

#include
#include
#include
#include
#include

using namespace std;

typedef struct
{
    char letter, *code;
    int weight;
    int parent, lchild, rchild;
} HTNode, *HuffmanTree;
//char a[28]=" ABCDEFGHIJKLMNOPQRSTUVWXYZ";//存字符
char a[100];
int b[100];//存权值
int n=0;//字符个数
char code[100];//存输入的二进制代码。
void CreateHuffmanTree(HuffmanTree &HT, char t[], int w[])
{
    int m, s1, s2;
    m=2*n-1; //总共需要2n-1个节点
    HT=new HTNode[m+1];//开辟空间
    for(int i=0; i>p;
            if(p!='1'&&p!='0'&&p!='#')  //若存在其它字符,x设为0,表示输入的不是二进制数。
            {
                x=0;
            }
            code[k]=p;
            k++;
            if(p=='#')
                symbol=0;  //#号结束标志
        }
        if(x==1)
            Yima(HT,code,k-1);        //进行译码
        else
        {
            cout<<"有非法字符!"<>p;
        if(p=='y'||p=='Y')
            continue;
        else
            break;
    }
}
void PrintHF1(HuffmanTree HT,int k,string ss)
{
        ss+="    ";
        if(HT[k].lchild==-1||HT[k].rchild==-1)
            {
                cout<>m;
            if(m=='1')
            {
                system("cls");
                ReadData();//从文件中读取数据。
                cout<<"读入数据成功!"<=0)//找到根节点
                {

                    if(HT[i].parent==-1)
                        break;
                    else
                    {
                        i++;
                        continue;
                    }

                }
                    cout<<"凹入法显示哈夫曼树:"<

 

你可能感兴趣的:(数据结构作业)