J'ai référé au lien suivant pour voir comment la traversée inOrder peut être enregistrée dans un tableau Binary Search Tree to inOrder Array.Stockage de la traversée BinarySearchTree inOrder dans un tableau
Mon arbre:
100
/\
50 300
/\
20 70
Lorsque premier élément (20) est inséré dans la valeur d'index de tableau est incrémenté de 1. Maintenant, quand la commande passe à la récupération de la prochaine valeur d'index noeud (50) devient 0.
Code:
storeInOrder(root1,arr1,0);
private static void storeInOrder(Node root1, int[] arr1, int index) {
if(root1 == null){return;}
storeInOrder(root1.left, arr1,index);
arr1[index++] = root1.data;
storeInOrder(root1.right,arr1,index);
}
sortie prévue dans le tableau: 20 50 70 100 300
je veux dire que la sortie 100 300 0 0 0
Dans quelle langue écrivez-vous? Il semble que votre paramètre d'index ne soit pas transmis par référence. –
@TeddySterne J'écris en Java – user2748161