谁知道PASCAL哈夫曼树的程序

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:05:09
谁知道PASCAL哈夫曼树的程序

Program huffman_tree(input,output);
const max=32767;n=20;m=2*n-1
Type tnode=RECORD
data:integer;
Lc,Rc:integer;
END;
Var tree:ARRAY[0..m] of tnode;
weight:ARRAY[0..n] of integer;
im,num:integer;

procedure initial;
var i:integer;
begin
write('First input nun(<',n:2,')');
readln(num);
writeln('Please input weight:');
for i:=0 to num-1 do read(weight[i])
end;

function minimum:integer;
var i:integer;
begin
min:=max;
for i:=0 to num-1 do
if (min>weight[i]) then
begin
min:=weight[i];
im:=i;
end;
weight[im]:=max;
minimum:=min;
end;

procedure huffman;
var i,k:integer;
begin
for i:=num to 2*num-1 do
begin
tree[i].Lc:=minimum;
tree[i].Rc:=minimum;
tree[i].data:=tree[i].Lc:+tree[i].Rc;
weight[im]: