public void insertBTreeNonFull(BTreeNode currentNode, int k)
    {
        int size = currentNode.getSize();
        int[] currKeys = currentNode.getKeyList();
        if (currentNode.isLeaf())
        {
            //将key放到叶节点中
            //key后移
            int[] newBTreKeys = new int[size + 1];
            
            for (int i = size - 1; i >= 0; i--)
            {
                if (currKeys[i] > k || (currKeys[i] < k && currKeys[i + 1] > k))
                {
                    newBTreKeys[i + 1] = k;
                    newBTreKeys[i] = currKeys[i];
                }
                else
                {
                    newBTreKeys[i] = currKeys[i];
                }
                
            }
            currentNode.setKeyList(newBTreKeys);
        }
        else
        {
            int index = 0;
            for (int i = size - 1; i >= 0; i--)
            {
                if (currKeys[i] < k)
                {
                    index = i;
                    break;
                }
                
            }
            //第index个子节点
            index++;
            BTreeNode subBTreeNode = currentNode.getSubTreeNodeList()[index];
            if (subBTreeNode.isFull())
            {
                spiltChildBTree(currentNode, index, subBTreeNode);
                if (k > currentNode.getKeyList()[index])
                {
                    index++;
                }
                insertBTreeNonFull(currentNode.getSubTreeNodeList()[index], k);
            }
        }
    }