16.哈夫曼结点类
namespace DSList
{
public class HfmNode
{
private int flag; //标记
private int weight; //权植
private int lChild; //左孩子下标
private int rChild; //右孩子下标
private int parent; //双亲结点下标
public int Flag
{
get
{
return flag;
}
set
{
flag = value;
}
}
public int Weight
{
get
{
return weight;
}
set
{
weight = value;
}
}
public int LChild
{
get
{
return lChild;
}
set
{
lChild = value;
}
}
public int RChild
{
get
{
return rChild;
}
set
{
rChild = value;
}
}
public int Parent
{
get
{
return parent;
}
set
{
parent = value;
}
}
public HfmNode()
{
flag = 0;
weight = 0;
lChild = -1;
rChild = -1;
parent = -1;
}
public HfmNode(int f,int w, int lc, int rc, int p)
{
flag = f;
weight = w;
lChild = lc;
rChild = rc;
parent = p;
}
}
public class HfmCode
{
private int[] bit;
private int start;
private int weight;
public int this[int index]
{
get
{
return bit[index];
}
set
{
bit[index] = value;
}
}
public int Start
{
get
{
return start;
}
set
{
start = value;
}
}
public int Weight
{
get
{
return weight;
}
set
{
weight = value;
}
}
public HfmCode()
{
bit = new int[10];
start = -1;
weight = 0;
}
}
}