[模板]哈夫曼树

发布于 2019-04-20  726 次阅读


#include 
#include 
using namespace std;
struct arr
{
    int data,lc,rc,addr;
};
arr f[1000],a[1000];
int cam(arr a,arr b)
{
    return a.data1)
    {
        sort(a+1,a+i+1,cam);
        f[t].data=a[1].data+a[2].data;
        f[t].lc=a[1].addr;
        f[t].rc=a[2].addr;
        a[1].data=f[t].data;
        a[1].addr=t;
        a[2].data=a[i].data;
        a[2].addr=a[i].addr;
        t++; i--;
    }
    vist(t-1);
}

哈夫曼编码

#include 
#include 
#include 
using namespace std;
struct arr
{
    int data,lc,rc,addr,l;
};
arr f[1000],a[1000];
int cam(arr a,arr b)
{
    return a.data1)
    {
        sort(a+1,a+i+1,cam);
        f[t].data=a[1].data+a[2].data;
        f[t].lc=a[1].addr;
        f[t].rc=a[2].addr;
        a[1].data=f[t].data;
        a[1].addr=t;
        a[2].data=a[i].data;
        a[2].addr=a[i].addr;
        t++; i--;
    }

    char st[100];

    vist(t-1,"");
}
]]>