Pascal/Turbo Pascal - Eliminar Arbol Binario

   
Vista:
Imágen de perfil de Juan Martin

Eliminar Arbol Binario

Publicado por Juan Martin (8 intervenciones) el 08/04/2015 01:08:39
Buenas gente, estoy implementando procedimientos sobre la estructura de datos de arboles binarios, necesito alguna sugerencia de como borrar el arbol binario totalmente de modo que libere a memoria que esta siendo utilizada, que no queden residuos, que se eliminen uno a uno los elementos, muchas gracias! Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Eliminar Arbol Binario

Publicado por ramon (2072 intervenciones) el 08/04/2015 22:02:57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{Algo así}
 
program arboles;
 uses
    crt;
  type
     puntarbol = ^regarbol;
     regarbol = record
              dato : integer;
              der, izq : puntarbol;
            end;
 
   var
     elarbol : puntarbol;
     h : integer;
     memoria : word;
 
 
 
   procedure ponerdato(reg : puntarbol);
   begin
      if reg <> nil then
      begin
        ponerdato(reg^.izq);
        write(' ',reg^.dato);
        ponerdato(reg^.der);
      end;
    end;
 
  procedure insertar(var p: puntarbol; v : integer);
  begin
     if p = nil then
     begin
        new(p);
        p^.dato := v;
        p^.izq := nil;
        p^.der := nil;
     end
   else
      if p^.dato > v then
       insertar(p^.izq,v)
    else
       insertar(p^.der,v)
  end;
 
  procedure anula_arbol(p : puntarbol);
  begin
    if p <> nil then
    begin
      anula_arbol(p^.izq);
      anula_arbol(p^.der);
      dispose(p);
    end;
  end;
 
 
  begin
     clrscr;
     writeln('  Memoria inicio   = ',memavail);
     elarbol := nil;
     writeln('  Carga datos');
     for h := 1 to 28 do
     insertar(elarbol,h);
     ponerdato(elarbol);
     writeln;
     writeln('  Memoria Medio    = ',memavail);
     writeln('  Livera datos');
     anula_arbol(elarbol);
     writeln('  Memoria al Final = ',memavail);
     readkey;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Juan Martin

Eliminar Arbol Binario

Publicado por Juan Martin (8 intervenciones) el 09/04/2015 00:39:31
Un lujo, Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar