Значения элементов бинарного дерева в строку - C#
Формулировка задачи:
Здравствуйте, возникла надобность вывести элементы бинарного дерева в строку. Следующий код не работает(Выводит только первый элемент):
Подскажите пожалуйста где ошибка. Далее привожу полный код:
Листинг программы
- public override string ToString()
- {
- string s = "";
- if (Left != null) Left.ToString();
- s += " " +Value.ToString()+" ";
- if (Right != null) Right.ToString();
- return s;
- }
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace BinaryTreeMVP.BL
- {
- public class BinaryTree<T> where T : IComparable<T>
- {
- public T Value;
- public BinaryTree<T> Right;
- public BinaryTree<T> Left;
- BinaryTree<T> Parent;
- public BinaryTree()
- {
- Value = default(T);
- Right = null;
- Left = null;
- Parent = null;
- }
- public void Add(T value)
- {
- if (this.Value.CompareTo(default(T))== 0)
- {
- this.Value = value;
- }
- else
- {
- if (this.Value.CompareTo(value) > 0)
- {
- if (Left == null)
- {
- Left = new BinaryTree<T>();
- Left.Value = value;
- Left.Parent = this;
- return;
- }
- this.Left.Add(value);
- }
- else
- {
- if (Right == null)
- {
- Right = new BinaryTree<T>();
- Right.Value = value;
- Right.Parent = this;
- return;
- }
- this.Right.Add(value);
- }
- }
- }
- public BinaryTree<T> Find(T value)
- {
- if (this.Value.CompareTo(value) == 0) return this;
- if (this.Value.CompareTo(value) > 0) return this.Left.Find(value);
- return this.Right.Find(value);
- }
- public override string ToString()
- {
- string s = "";
- if (Left != null) Left.ToString();
- s += " " +Value.ToString()+" ";
- if (Right != null) Right.ToString();
- return s;
- }
- }
- }
Решение задачи: «Значения элементов бинарного дерева в строку»
textual
Листинг программы
- if (Left != null) s += " " +Left.ToString()+" ";
- s += " " +Value.ToString()+" ";
- if (Right != null) s += " " +Right.ToString() + " ";
- return s;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д