public void Insertar(T valor, Delegate delegado) { BReader <T> .LeerEncabezado(RutaArbol, ref Raiz, ref PosicionDisponible); if (Raiz == int.MinValue) { NodoB <T> nuevo = new NodoB <T>(valor.FixedSizeText, Grado); nuevo.Valores.Add(valor); BWriter.Escribir() } else { NodoB <T> aux = Raiz; for (int i = 0; i < Grado - 1; i++) { if ((int)delegado.DynamicInvoke(aux.Valores[i], valor) == -1) { } else if ((int)delegado.DynamicInvoke(aux.Valores[i], valor) == 1) { } } if (nuevo.Valores.Count == Grado) { Ordenar } } }
public Arbol_BAsterisco(int grado, string ruta) { Grado = grado; Raiz = int.MinValue; PosicionDisponible = 1; RutaArbol = ruta; BWriter.Escribir(Raiz.ToString("00000000000;-0000000000"), RutaArbol); BWriter.Escribir(PosicionDisponible.ToString("00000000000;-0000000000"), RutaArbol); }