Exemple #1
0
        private void Insertando(TLlave key, T dato)
        {
            int raiz = fabricar.ObtenerRaiz();
            BNode <TLlave, T> nodo = fabricar.TraerNodo(raiz);

            while (!EsHoja(nodo.Hijos))
            {
                int hijo = ADondeIr(nodo.Llaves, key);
                nodo = fabricar.TraerNodo(int.Parse(nodo.Hijos[hijo]));
            }

            if (HayEspacio(nodo.Llaves))
            {
                //Si hay espacio para insertar el elemento
                nodo = InsertaEnNodoHoja(nodo, key, dato);
                fabricar.GuardarNodo(nodo.Informacion());
            }
            else
            {
                // Esta Lleno, entonces hay que crear nuevos nodos :s
                InsertarEnNodoLleno(nodo, key, dato);
            }
        }
Exemple #2
0
 public BTree(string FileName)
 {
     fabricar = new Fabrica <TLlave, T>(FileName);
     root     = fabricar.TraerNodo(fabricar.ObtenerRaiz());
     grado    = fabricar.ObtenerGrado();
 }