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); } }
public BTree(string FileName) { fabricar = new Fabrica <TLlave, T>(FileName); root = fabricar.TraerNodo(fabricar.ObtenerRaiz()); grado = fabricar.ObtenerGrado(); }