public void add(int index,int k,BTreeNode newSubNode,int direction){
        
        int[] newKeyListOfSubNode = new int[keyList.length+1];
        BTreeNode[] newSubNodeListOfSubNode = new BTreeNode[subTreeNodeList.length+1];
        for (int i = 0; i < keyList.length+1; i++)
        {
            if (i<index)
            {
                newKeyListOfSubNode[i]=keyList[i];
            }else if (i==index)
            {
                newKeyListOfSubNode[i]=k;
            }else {
                newKeyListOfSubNode[i]=keyList[i-1];
            }
        }
        
        //subNode 的 subNode
        if (direction==1)
        {
            index++;
        }
        for (int i = 0; i < subTreeNodeList.length+1; i++)
        {
            if (i<index)
            {
                newSubNodeListOfSubNode[i]=subTreeNodeList[i];
            }else if (i==0)
            {
                //左兄弟节点的子树移动到右边
                newSubNodeListOfSubNode[i]=newSubNode;
            }else {
                newSubNodeListOfSubNode[i]=subTreeNodeList[i-1];
            }
        }
        keyList = newKeyListOfSubNode;
        subTreeNodeList = newSubNodeListOfSubNode;
    }