Pascal arbol binario

Solo disponible en BuenasTareas
  • Páginas : 2 (499 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de mayo de 2011
Leer documento completo
Vista previa del texto
program cola_dinamica;
{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 else y^.der:=x;

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(...
tracking img