Пример #1
0
        private void prestarClave(CNodo paginaAux, CNodo paginaA, CNodo paginaB, int i, int posB)
        {
            int index,posClave;
            long dirClave;
            Object clave;

            if (i == paginaAux.getNumElemnt())
            {
                posClave = paginaB.getNumElemnt() - 1;
                index = 0;
                paginaA.setAtClave(index+1,paginaA.getAtClave(index));
                paginaA.setAtDirClaves(index+1,paginaA.getAtDirClaves(index));
                paginaA.setAtDirNodo(index+1,paginaA.getAtDirNodo(index));
            }
            else
            {
                posClave = 0;
                index = 1;
            }

            paginaA.setAtClave(index, paginaB.getAtClave(posClave));
            paginaA.setAtDirClaves(index, paginaB.getAtDirClaves(posClave));
            paginaA.setAtDirNodo(index, paginaB.getAtDirNodo(posClave));
            paginaA.incNumElem();
            paginaB.eliminaClaveOrd(paginaB.getAtClave(posClave));

            if (i < posB)
            {
                clave = paginaB.getAtClave(0);
                dirClave = paginaB.getAtDirClaves(0);
                posB--;
            }
            else
            {
                clave = paginaA.getAtClave(0);
                dirClave = paginaA.getAtDirClaves(0);
            }

            paginaAux.setAtClave(posB,clave);
            paginaAux.setAtDirClaves(posB,dirClave);
        }