Значения элементов бинарного дерева в строку - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, возникла надобность вывести элементы бинарного дерева в строку. Следующий код не работает(Выводит только первый элемент):
Листинг программы
  1. public override string ToString()
  2. {
  3. string s = "";
  4.  
  5. if (Left != null) Left.ToString();
  6. s += " " +Value.ToString()+" ";
  7. if (Right != null) Right.ToString();
  8. return s;
  9. }
Подскажите пожалуйста где ошибка. Далее привожу полный код:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace BinaryTreeMVP.BL
  7. {
  8. public class BinaryTree<T> where T : IComparable<T>
  9. {
  10. public T Value;
  11. public BinaryTree<T> Right;
  12. public BinaryTree<T> Left;
  13. BinaryTree<T> Parent;
  14. public BinaryTree()
  15. {
  16. Value = default(T);
  17. Right = null;
  18. Left = null;
  19. Parent = null;
  20. }
  21. public void Add(T value)
  22. {
  23. if (this.Value.CompareTo(default(T))== 0)
  24. {
  25. this.Value = value;
  26. }
  27. else
  28. {
  29. if (this.Value.CompareTo(value) > 0)
  30. {
  31. if (Left == null)
  32. {
  33. Left = new BinaryTree<T>();
  34. Left.Value = value;
  35. Left.Parent = this;
  36. return;
  37. }
  38. this.Left.Add(value);
  39. }
  40. else
  41. {
  42. if (Right == null)
  43. {
  44. Right = new BinaryTree<T>();
  45. Right.Value = value;
  46. Right.Parent = this;
  47. return;
  48. }
  49. this.Right.Add(value);
  50. }
  51. }
  52. }
  53. public BinaryTree<T> Find(T value)
  54. {
  55. if (this.Value.CompareTo(value) == 0) return this;
  56. if (this.Value.CompareTo(value) > 0) return this.Left.Find(value);
  57. return this.Right.Find(value);
  58. }
  59. public override string ToString()
  60. {
  61. string s = "";
  62.  
  63. if (Left != null) Left.ToString();
  64. s += " " +Value.ToString()+" ";
  65. if (Right != null) Right.ToString();
  66. return s;
  67. }
  68. }
  69. }

Решение задачи: «Значения элементов бинарного дерева в строку»

textual
Листинг программы
  1.             if (Left != null) s += " " +Left.ToString()+" ";
  2.             s += " " +Value.ToString()+" ";
  3.             if (Right != null) s += " " +Right.ToString() + " ";
  4.             return s;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы