阅读量:0
在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
函数中,我们创建一个二叉树并插入一些节点,然后进行中序遍历输出结果。