제 프로그램의 은이되어야합니다. 그러나 ref 키워드를 사용하는 데 어려움이 있습니다. 아직 Insert() 메소드를 사용할 것으로 예상되지는 않습니다. 그러나, 나는 오류가 발생할 때마다 트래버스 방법을 사용하려고 애쓰는 데 어려움을 겪고있다. 나는 아마 내가 Main Method를 엉망으로 만든 것을 알고있다. 그러나 그것은 실험을하고 그것을 작동 시키려고하기 때문이다. Get 및 Setter 메서드가있는 NodeClass가 있지만이 문제는 기본적으로 ref 키워드입니다. 내가 뭘 놓치고 있니? 문자열을 추가했습니다. 오류가 발생했습니다. 버퍼를 사용하려고 시도했는데 오류가 발생합니다.C# - 바이너리 트리 문제
BinaryTree 클래스 -
class BinTree<T> where T : IComparable
{
private Node<T> root;
public BinTree() //creates an empty tree
{
root = null;
}
public BinTree(Node<T> node) //creates a tree with node as the root
{
root = node;
}
public void InOrder(ref string buffer)
{
inOrder(root, ref buffer);
}
private void inOrder(Node<T> tree, ref string buffer)
{
if (tree != null)
{
inOrder(tree.Left, ref buffer);
buffer += tree.Data.ToString() + ",";
inOrder(tree.Right, ref buffer);
}
}
public void Preorder(ref string buffer)
{
PreOrder(root, ref buffer);
}
public void PreOrder(Node<T> tree, ref string buffer)
{
if (tree != null)
{
buffer += tree.Data.ToString() + ",";
PreOrder(tree.Left, ref buffer);
PreOrder(tree.Right, ref buffer);
}
}
public void postOrder(ref string buffer)
{
PostOrder(root, ref buffer);
}
public void PostOrder(Node<T> tree, ref string buffer)
{
if (tree != null)
{
PostOrder(tree.Left, ref buffer);
PostOrder(tree.Right, ref buffer);
buffer += tree.Data.ToString() + ",";
}
}
}
프로그램 클래스 -이
class Program
{
static void Main(string[] args)
{
BinTree<int> tree = new BinTree<int>();
Node<int> root = new Node<int>(6);
root.Left = new Node<int>(15);
root.Left.Right = new Node<int>(654);
tree.InOrder(ref , root.Data);
System.Console.WriteLine();
Console.ReadLine();
}
}
누군가가 아마도 나를 도울 수
? 고맙습니다.명백한 사실이 있으면 미리 사과하십시오. 위의 일반적인 체인에서
예상되는 출력이 '15,654,6'입니까? 그것이 내가 약간 정리 한 후에 얻는 것입니다. – jrbeverly
맞습니다. 트래버스 메서드를 사용하고 있습니다. inOrder, PreOrder 및 PostOrder. :) – JavaScriptGrasshopper
이게 내가 현재하고있는 일이다 : https://dotnetfiddle.net/9glXXY – jrbeverly