c#二叉树如何实现

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!