📄 h.h
字号:
#include <iostream.h>
struct node{
int weight;
int lchild;
int rchild;
int parent;
char key;
};
struct code{
int start;
int bit[40];
};
void built(node tree[],int a,int b,int n)
{
if((a-b)>0)
{
cout<<"error"<<endl;
}
else if(a==b)
{
tree[a].parent=n-1;
tree[a].lchild=-1;
tree[a].rchild=-1;
tree[n-1].lchild=a;
}
else if((b-a)==1)
{
tree[a].parent=n;
tree[b].parent=n;
tree[a].lchild=-1;
tree[b].lchild=-1;
tree[a].rchild=-1;
tree[b].rchild=-1;
tree[n].lchild=a;
tree[n].rchild=b;
}
else if((b-a)>1)
{
int bline=0;
int temp=1000, delta=1000,i=a,l=0,r=0,j;
while(delta<=temp)
{
temp=delta;
for(j=a;j<=i;j++)
l+=tree[j].weight;
for(j=i+1;j<=b;j++)
r+=tree[j].weight;
delta=l-r?l-r:r-l;
i++;
}
bline=i-1;
tree[n].lchild=n+1;
tree[n].rchild=n+2;
tree[n+1].parent=n;
tree[n+2].parent=n;
built(tree,a,bline-1,n+1);
built(tree,bline,b,n+2);
}
else;
}
void sorting(node tree[],int n){
int i,j;
node temp;
for(i=1;i<=n-1;i++){
for(j=0;j<i-1;j++){
if (tree[j].weight<tree[j+1].weight)
{
temp.weight=tree[j+1].weight;
temp.key=tree[j+1].key;
tree[j+1].weight=tree[j].weight;
tree[j+1].key=tree[j].key;
tree[j].weight=temp.weight;
tree[j].key=temp.key;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -