Pascal arbol binario
{programa que pinta un cuadro en los dos sistemas operativos}
uses crt;
//no apunta a ningun sitio es un valor de puntero que inidica que no apunta a ningun sitio (punterovacio)
type arbol = ^nodo;
nodo = record
valor : byte;
iz, der :arbol;
end;
type fichero = file of byte;//====================================================================================
// Operaciones de la cola
//====================================================================================
function vacia(a:arbol): boolean;
begin
vacia := a =nil;
end;
procedure inicializa (var a :arbol);
begin
a:= nil;
end;
procedure mete(var a:arbol; b:integer);
var x,y:arbol;
begin
y:=nil;
x:=a;
while xnil dobegin
y:=x;
if b < x^.valor then x:=x^.iz
else x:=x^.der;
end;
new(x);
x^.valor:=b;
x^.iz:=nil;
x^.der:=nil;
if y=nil then a:=x
else if b
end;
procedure sacar ( var a : arbol ) ;
var aux : arbol ;
begin
aux := nil;
if a^.dernil then
sacar( a^.der )
else
begin
aux^.valor := a^.valor ;
aux := a ;
a := a^.iz
end ;
end ;procedure saca (var a : arbol; aux : integer);
var b : arbol ;
begin
if a = nil
then begin writeln ( 'El numero no esta en el arbol' ); readln end
else
if aux > a^.valor thensaca(a^.der, aux)
else
if aux = a^.valor then
begin
b := a ;
if b^.der = nil
then a := b^.izelse
if b^.iz = nil
then a := b^.der
else sacar(a^.iz) ;
dispose(b)
end
else
saca(...
Regístrate para leer el documento completo.