Pagini recente » Cod sursa (job #2778847) | Cod sursa (job #3268745) | Cod sursa (job #2789603) | Cod sursa (job #695404) | Cod sursa (job #590724)
Cod sursa(job #590724)
const fi='algsort.in';
fo='algsort.out';
type pnod=^nod;
nod=record
inf,de:longint;
st,dr:pnod;
end;
var p:pnod;
i,n,c:longint;
f,g:text;
bufin,bufout:array[1..65000] of byte;
procedure inserare(var p:pnod; info:longint);
begin
if p<>nil then
if p^.inf=info then
inc(p^.de) else
if p^.inf>info then
inserare(p^.st,info) else
inserare(p^.dr,info)
else
begin
new(p);
p^.inf:=info;
p^.st:=nil;
p^.dr:=nil;
end;
end;
procedure srd(p:pnod);
begin
if p<>nil then
begin
srd(p^.st);
for i:=1 to p^.de+1 do
write(g,p^.inf,' ');
srd(p^.dr);
end;
end;
begin
assign(f,fi);
reset(f);
assign(g,fo);
rewrite(g);
settextbuf(f,bufin);
settextbuf(g,bufout);
read(f,n);
for i:=1 to n do
begin
read(f,c);
inserare(p,c);
end;
srd(p);
close(f);
close(g);
end.