private void Insert(int ActualPosicion, T data) { Nodo <T> node = new Nodo <T>(); node = node.LecturaNodo(this.Ruta, this.Orden, this.Raiz, ActualPosicion, this.createFixedSizeText); if (node.PosicionDentroNodo(data) != 1) { throw new ArgumentException("El valor se encuentra creado con anterioridad dentro del nodo"); } if (node.EsHoja) { UpData(node, data, MetodosNecesarios.NullPointer); EscrituraEncabezado(); } }
private Nodo <T> Obtener(int PosicionActual, out int posicion, T data) { Nodo <T> NActual = new Nodo <T>(); NActual.LecturaNodo(this.Ruta, this.Orden, this.Raiz, PosicionActual, this.createFixedSizeText); posicion = NActual.PosicionDentroNodo(data); if (posicion != -1) { return(NActual); } else { if (NActual.EsHoja) { return(null); } else { int PosicionAproximada = NActual.PosicionAproximada(data); return(Obtener(NActual.Hijos[PosicionAproximada], out posicion, data)); } } }