在C#中實現二叉樹可以通過定義一個節點類來表示二叉樹的節點,然后定義一個二叉樹類來實現二叉樹的操作。以下是一個簡單的二叉樹實現示例:
using System;
class BinaryTreeNode
{
public int data;
public BinaryTreeNode left;
public BinaryTreeNode right;
public BinaryTreeNode(int value)
{
data = value;
left = null;
right = null;
}
}
class BinaryTree
{
public BinaryTreeNode root;
public BinaryTree()
{
root = null;
}
public void Insert(int value)
{
root = InsertRec(root, value);
}
private BinaryTreeNode InsertRec(BinaryTreeNode root, int value)
{
if (root == null)
{
root = new BinaryTreeNode(value);
return root;
}
if (value < root.data)
{
root.left = InsertRec(root.left, value);
}
else if (value > root.data)
{
root.right = InsertRec(root.right, value);
}
return root;
}
public void InOrderTraversal(BinaryTreeNode node)
{
if (node != null)
{
InOrderTraversal(node.left);
Console.Write(node.data + " ");
InOrderTraversal(node.right);
}
}
}
class Program
{
static void Main()
{
BinaryTree tree = new BinaryTree();
tree.Insert(5);
tree.Insert(3);
tree.Insert(7);
tree.Insert(1);
tree.Insert(4);
Console.WriteLine("Inorder traversal of binary tree is: ");
tree.InOrderTraversal(tree.root);
}
}
在這個示例中,我們定義了一個BinaryTreeNode
類表示二叉樹的節點,包含數據、左子節點和右子節點。然后定義了一個BinaryTree
類來實現二叉樹的操作,包括插入節點和中序遍歷。在Main
函數中,我們創建一個二叉樹并插入一些節點,然后進行中序遍歷輸出結果。