7
votes

C # - Arbre binaire simple

Donc, j'ai appris C # au cours du mois dernier et, pour le moment, je me débats avec des arbres binaires.

Ma question est que puis-je appeler mon arbre à la fenêtre de la console? J'ai essayé console.writeline (arbre.data); mais cela semble écrire 54 à ma fenêtre de console.

Voici mon code si vous devez vérifier:

fichier principal xxx

classe de nœud xxx

y a-t-il d'autres méthodes d'appel de mon arbre ? ou est-ce que je fais quelque chose de mal?


1 commentaires

Juste pour clarifier les réponses ci-dessous, vous convertissez un type char que vous avez créé à l'aide du littéral '6' avec des apostrophes. Le type CHAR est implicitement converti à l'équivalent int int , dans laquelle la valeur entière "54" représente le caractère 6 . Voir msdn.microsoft.com/en-us /Library/X9H8TSAY%28V=VS.110%29.aspx


4 Réponses :


0
votes

Je crois que la meilleure façon de le faire serait de mettre en place un algorithme de traversé d'arbre récursif concis qui imprime la valeur de chaque nœud dans l'ordre particulier que vous choisissez de les rencontrer. Quant à une méthode pré-écrite pour le faire dans les bibliothèques C #, je ne le sais pas. Bonne chance!


0 commentaires

8
votes

La raison pour laquelle il s'agit juste d'afficher 54 est parce que c'est le ce que (int) '6' est!

Vous appelez arbre. Data qui retourne dans ce cas '6' couler sur int .


J'imagine ce que vous essayez de faire ce que vous essayez de faire ce que vous essayez de faire ce que vous essayez de faire est soit de retour 6 que vous pouvez faire en utilisant xxx

ou par xxx


< p> ( Plus dans une réponse séparée, supprimée de la clarté )

2 commentaires

[à continuer ..] Cela semble mieux :)


@lazybereezovsky: Alternativement ... encore plus palpitant!



2
votes
Node<int> tree = new Node<int>(6);
6, and not '6'. Now expected value will be printed. Your code is silently casts char value '6' to integer, which gives result 54.

0 commentaires

2
votes

( déplacé de la réponse précédente pour la clarté )

Si vous essayez de renvoyer toutes les données de votre Node Code> Je pense qu'une meilleure façon d'y aller serait de remplacer la méthode Tostring code> dans votre nœud code> la classe comme si : p> xxx pré>

puis appelez console.writeline (arborescente (arbre.tostring ()); code> qui résulte des éléments suivants: p>

Data: 54
Left:   
  Data: 50
  Left:   null
  Right:   null
Right:   
  Data: 53
  Left:   null
  Right:   null


0 commentaires