Exemple #1
0
        public void InsertarNodo(BNode <TKey, T> nodo, string filename, bool actualizar)
        {
            fileStream = new FileStream(filename + ".txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
            // Posición para escribir
            PosicionLinea = EncabezadoTamaño + (nodo.Posi - 1) * (34 + (11 * nodo.Grado + (nodo.Grado - 1)) + (36 * (nodo.Grado - 1) + (nodo.Grado - 2)) + (36 * (nodo.Grado - 1) + (nodo.Grado - 1)));
            // Se proporciona la posición
            fileStream.Seek(PosicionLinea, SeekOrigin.Begin);
            // Escritura
            StreamWriter NodoEscribir = new StreamWriter(fileStream);

            if (actualizar == true)
            {
                NodoEscribir.Write(FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(nodo.Posi) + "|" +
                                   FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(nodo.Padre) + "|||" +
                                   FabricaDeTexto <TKey, T> .obtenerFormatoTexto().HijoLista(nodo.ApuntaHijo, nodo.Grado) + "||" +
                                   FabricaDeTexto <TKey, T> .obtenerFormatoTexto().ListadoLlaves(nodo.Llave, nodo.Grado) + "||" +
                                   FabricaDeTexto <TKey, T> .obtenerFormatoTexto().ListadoAtributos(nodo.Datos, nodo.Grado));
            }
            else
            {
                NodoEscribir.WriteLine(FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(nodo.Posi) + "|" +
                                       FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(nodo.Padre) + "|||" +
                                       FabricaDeTexto <TKey, T> .obtenerFormatoTexto().HijoLista(nodo.ApuntaHijo, nodo.Grado) + "||" +
                                       FabricaDeTexto <TKey, T> .obtenerFormatoTexto().ListadoLlaves(nodo.Llave, nodo.Grado) + "||" +
                                       FabricaDeTexto <TKey, T> .obtenerFormatoTexto().ListadoAtributos(nodo.Datos, nodo.Grado));
            }
            NodoEscribir.Close();
        }
Exemple #2
0
        public void ConstruccionEncabezado(string NombreArchivo, int Raiz, int Posi, int Tamaño, int Grado, int Altura)
        {
            fileStream = new FileStream(NombreArchivo + ".txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);

            StreamWriter EncabezadoEscribir = new StreamWriter(fileStream);

            EncabezadoEscribir.WriteLine(FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(Raiz));
            EncabezadoEscribir.WriteLine(FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(Posi));
            EncabezadoEscribir.WriteLine(FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(Tamaño));
            EncabezadoEscribir.WriteLine(FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(Grado));
            EncabezadoEscribir.WriteLine(FabricaDeTexto <TKey, T> .obtenerFormatoTexto().FormatoNumerico(Altura));
            EncabezadoEscribir.Close();
        }
 public static FabricaDeTexto <TKey, T> obtenerFormatoTexto()
 {
     return(formatoTexto ?? (formatoTexto = new FabricaDeTexto <TKey, T>()));
 }