• Jueves 14 de Noviembre de 2024, 04:28

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - jer0Me

Páginas: [1]
1
ADA / Encontrar el sucesor simetrico
« en: Sábado 6 de Junio de 2009, 18:55 »
Buenas, tengo un problema con una función. Esta función consiste en buscar el sucesor simetrico de un arbol binario de busqueda al extraer un elemento que es de grado dos. y el problema es que no se me ocurre como adoptar el hijo derecho del elemento a extraer, ya que dentro del hijo derecho del elemento a extraer se encuentra su sucesor. Gracias de antemano.

Código: Text
  1.             --------------------------------------------------------------
  2.             -- El sucesor de un nodo de grado 2 es el primer nodo hacia --
  3.             -- la izquierda, a partir del hijo derecho, que no tenga    --
  4.             -- hijo izquierdo                                           --
  5.             -- El sucesor adopta a los hijos del nodo a extraer y el    --
  6.             -- hijo derecho del sucesor es adoptado por el padre del    --
  7.             -- sucesor (salvo que el sucesor sea el hijo derecho del    --
  8.             -- nodo a extraer)                                          --
  9.             --------------------------------------------------------------
  10.          function Sucesor_Simetrico(A: Arbol_Bin_Bus) return Arbol_Bin_Bus is
  11.             function Min (A : Arbol_Bin_Bus) return Arbol_Bin_Bus is
  12.             begin
  13.                if A.Hijos (1) = null then
  14.                   return A;
  15.                else
  16.                   return Min (A.Hijos (1));
  17.                end if;
  18.             end Min;
  19.             S : Arbol_Bin_Bus;
  20.          begin
  21.             S := Min (A.Hijos (2));
  22.             S.Hijos (1) := A.Hijos (1);
  23.             return S;
  24.          end Sucesor_Simetrico;
  25.  

2
ADA / Problemas con una función
« en: Domingo 3 de Mayo de 2009, 21:26 »
Buenas, tengo un problemilla con una práctica de la uni. Pues bien tengo esta función :

function Examinar (L : Lista) return TElemento is
   begin
       if Fin_Lista (L) then
           raise Constraint_Error;
        else
           return L.Actual;
      end if;
 end Examinar;

querría saber si esta bien o ay algun error,  ya que tengo problemas para entregar la práctica ya que me dice que esta función esta mal.

Páginas: [1]