la conversion de la STB à la matrice

J'ai cherché partout et n'arrive pas à trouver toute l'aide pour cette question.. pour un projet d'école, j'ai un BST arbre et je dois mettre tous les services de renseignements de l'arbre dans un tableau int appelé BSTarray.
C'est ce que j'ai à ce jour:

public int [] toBSTArray() {
    int size = 20;
    int [] BSTarray = new int [size];
    for(int i = 0; i <size; i++) {
        makeArray(root);
        BSTarray[i] = root.getValue();
}

    return BSTarray;
}

//helper method called by toBSTArray
public void makeArray(BinarySearchTreeNode node) {
    if (node != null) {
        makeArray(node.getLeft());
        makeArray(node.getRight());
        //System.out.print(node.getValue() + " ");
    }
}

Je pensais que cette méthode était censé aller dans l'arborescence, puis d'ajouter les valeurs qu'il trouve dans les différents indices dans la BSTarray, mais tout ce qu'il fait est d'ajouter le même nombre dans tous les index dans le tableau. Suis-je en train de faire quelque chose de mal avec la récursivité?

OriginalL'auteur Gcap | 2012-12-13