91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c#二叉樹如何實現

c#
小樊
83
2024-07-26 02:31:13
欄目: 編程語言

在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函數中,我們創建一個二叉樹并插入一些節點,然后進行中序遍歷輸出結果。

0
太保市| 南丰县| 赤城县| 建湖县| 南漳县| 九江县| 肃南| 南宫市| 昂仁县| 南和县| 晋宁县| 溆浦县| 方山县| 固始县| 黔南| 永州市| 马关县| 潍坊市| 桑日县| 乌拉特中旗| 吕梁市| 绥化市| 浦东新区| 柳江县| 钦州市| 江安县| 黔西县| 商南县| 定州市| 阿坝县| 新乡县| 邯郸市| 临泽县| 赣州市| 洪洞县| 河源市| 永嘉县| 定结县| 嘉定区| 尉犁县| 上杭县|