Ejemplo n.º 1
0
        public int insertar(int idtransaccion, string idtranNom, string idactivo, string nombreactivo, string descripcion, string nombreusuario, string departamento, string empresa, string fecha, string tiempo)
        {
            NodoB a = new NodoB(idtransaccion, idtranNom, idactivo, nombreactivo, descripcion, nombreusuario, departamento, empresa, fecha, tiempo);

            insertarr(a, inicio);
            return(a.nofactura);
        }
Ejemplo n.º 2
0
        // WEB SERVICE NUEVO
        public NodoB retornarNodo(NodoB clave, Pagina raiz)
        {
            int pos = 0;

            if (vacio(raiz))  /// crea los nodos para insertar en la pagina
            {
                Console.WriteLine("no existe");
                return(null);
            }
            else
            {
                pos = existeNodo(clave, raiz);

                if (existe1)
                {
                    NodoB aux;
                    int   n = raiz.claves[pos - 1].getNofactura();
                    aux = raiz.claves[pos - 1];
                    Console.WriteLine("Se encontro a " + n);
                    f**k = aux;
                    return(aux);
                }
                else
                {
                    int n = clave.getNofactura();
                    retornarNodo(clave, raiz.ramas[pos]);  // se vuelve a llamar para crear el nodo a inertar en la pagina
                    Console.WriteLine("No existe" + n);
                    return(null);
                }
            }
        }
Ejemplo n.º 3
0
        public NodoB nodoAB(int nofactura)
        {
            f**k = null;
            NodoB n = new NodoB(nofactura, "", "", "", "", "", "", "", "", "");

            retornarNodo(n, inicio);
            return(f**k);
        }
Ejemplo n.º 4
0
 void insertarr(NodoB clave, Pagina raiz)
 {
     agregar(clave, raiz);
     if (pivote)
     {
         inicio           = new Pagina();
         inicio.cuentas   = 1;
         inicio.claves[0] = inserta;
         inicio.ramas[0]  = raiz;
         inicio.ramas[1]  = enlace;
     }
 }
Ejemplo n.º 5
0
        void insertarClave(NodoB clave, Pagina raiz, int posicion)
        {
            int i = raiz.cuentas;

            while (i != posicion)
            {
                raiz.claves[i]    = raiz.claves[i - 1];
                raiz.ramas[i + 1] = raiz.ramas[i];
                --i;
            }
            raiz.claves[posicion]    = clave;
            raiz.ramas[posicion + 1] = enlace;
            raiz.cuentas             = ++raiz.cuentas;

            Console.WriteLine("INSERTO");
        }
Ejemplo n.º 6
0
        void agregar(NodoB clave, Pagina raiz)
        {
            int pos = 0;         /// k=0;

            pivote = false;      // EmpA=false;

            if (vacio(raiz))     /// crea los nodos para insertar en la pagina
            {
                pivote  = true;  //Emp=false;
                inserta = clave; // X=clave
                enlace  = null;  //Xr=null;
            }
            else
            {
                pos = existeNodo(clave, raiz);

                if (existe)
                {
                    pivote = false;
                }
                else
                {
                    agregar(clave, raiz.ramas[pos]);  // se vuelve a llamar para crear el nodo a insertar en la pagina

                    if (pivote)
                    {
                        if (raiz.cuentas < 4)
                        {
                            pivote = false;
                            insertarClave(inserta, raiz, pos);
                        }
                        else
                        {
                            pivote = true;
                            dividirPagina(inserta, raiz, pos);
                            Console.WriteLine("inserto");
                        }
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public int existeNodo(NodoB clave, Pagina raiz)
        {
            int valor = 0;

            if (clave.nofactura < raiz.claves[0].nofactura)
            {
                existe1 = false;
                valor   = 0;
            }
            else
            {
                valor = raiz.cuentas;
                while (clave.nofactura < raiz.claves[valor - 1].nofactura && valor > 1)
                {
                    --valor;
                }

                existe  = (clave.nofactura < raiz.claves[valor - 1].nofactura);
                existe1 = (clave.nofactura == raiz.claves[valor - 1].nofactura);
            }

            return(valor);
        }
Ejemplo n.º 8
0
        void dividirPagina(NodoB clave, Pagina raiz, int posicion)
        {
            int pos    = 0;
            int Posmda = 0;

            if (posicion <= 2)
            {
                Posmda = 2;
            }
            else
            {
                Posmda = 3;
            }
            Pagina Mder = new Pagina();

            pos = Posmda + 1;
            while (pos != 5)
            {
                Mder.claves[(pos - Posmda) - 1] = raiz.claves[pos - 1];
                Mder.ramas[pos - Posmda]        = raiz.ramas[pos];
                ++pos;
            }
            Mder.cuentas = 4 - Posmda;
            raiz.cuentas = Posmda;
            if (posicion <= 2)
            {
                insertarClave(clave, raiz, posicion);
            }
            else
            {
                insertarClave(clave, Mder, (posicion - Posmda));
            }
            inserta       = raiz.claves[raiz.cuentas - 1];
            Mder.ramas[0] = raiz.ramas[raiz.cuentas];
            raiz.cuentas  = --raiz.cuentas;
            enlace        = Mder;
        }
Ejemplo n.º 9
0
 public Pagina(NodoB info)
 {
     claves[0] = info;
 }