В 'дереве' в foreach l oop я получаю сообщение об ошибке: оператор foreach не может работать с типом Tree, поскольку Tree не содержит определения экземпляра publi c для GetEnumerator.
On вторые «данные» в foreach l oop Я получаю сообщение об ошибке, не могу преобразовать из «T» в строку.
У кого-нибудь есть идеи, как это решить?
using System;
using System.Collections.Generic;
using System.ComponentModel.Design.Serialization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PSearchTreeJW
{
public class Program
{
public static void Main(string[] args)
{
string[] stringArray = { "A", "B", "C", "D", "E", "F", "G" };
var stringTree = new Tree<string>();
PopulateTree(stringArray, stringTree, nameof(stringTree));
TraverseTree(stringTree, nameof(stringTree));
Console.WriteLine($"\n \nTree Size: ");
Console.WriteLine($"{stringTree.Size}");
//Console.WriteLine("Find C");
// var node = tree.Find("C");
}
public static void PopulateTree<T>(Array array, Tree<string> tree, string name)
{
Console.WriteLine($"\n\n\nInserting into :");
foreach (T data in tree)
{
Console.Write($"{data}");
tree.InsertNode(data);
}
}
public static void TraverseTree<T>(Tree<string> tree, string treeType) where T : IComparable
{
Console.WriteLine($"\n\nPreorder traversal");
tree.PreorderTraversal();
Console.WriteLine($"\n\nInorder traversal");
tree.InorderTraversal();
Console.WriteLine($"\n\nPostorder traversal");
tree.PostOrderTraversal();
Console.ReadLine();
}
}
}