public void insereNoNaoCheio(No x, int k) {
        int i = x.getN() - 1;
        //verifica se x é um nó folha
        if (x.isFolha()) {
            //adquire a posição correta para ser inserido a chave
            while (i >= 0 && k < x.getChave().get(i)) {
                x.getChave().set(i + 1, x.getChave().get(i));
                i--;
            }
            i++;
            x.getChave().set(i, k);//insere a chave na posição i
            x.setN(x.getN() + 1);

        } else {//caso x não for folha
            //adquire a posição correta para ser inserido a chave
            while ((i >= 0 && k < x.getChave().get(i))) {
                i--;
            }
            i++;
            //se o filho i de x estiver cheio, divide o mesmo
            if ((x.getFilho().get(i)).getN() == ordem - 1) {
                divideNo(x, i, x.getFilho().get(i));
                if (k > x.getChave().get(i)) {
                    i++;
                }
            }
            //insere a chave no filho i de x
            insereNoNaoCheio(x.getFilho().get(i), k);
        }
        
    }