예제 #1
0
 public Arbol(string nombre, int nivel, MyOrden <T2> orden = null, List <Arbol <T2> > hijos = null)
 {
     Nombre = nombre;
     Orden  = orden;
     Hijos  = new List <Arbol <T2> >();
     Nivel  = nivel;
 }
예제 #2
0
            public T Orden(string integrante, out string superior)
            {
                if (!this.Existe(integrante))
                {
                    throw new InvalidOperationException("el integrante no existe");
                }

                superior = "";
                MyOrden <T> orden = null;

                foreach (var arbol in this.arbol.RecorridoSinContarRaiz())
                {
                    if (arbol.Nombre.Equals(integrante))
                    {
                        if (arbol.Orden == null)
                        {
                            throw new InvalidOperationException("No esta cumpliendo ninguna orden el integrante");
                        }
                        orden    = arbol.Orden;
                        superior = orden.DadaPor.Nombre;
                    }
                }
                return(orden.Orden);
            }