中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
梁平县| 西乌珠穆沁旗| 中阳县| 综艺| 苗栗县| 赤峰市| 牡丹江市| 北宁市| 乌拉特前旗| 镇江市| 浦江县| 敦化市| 锡林郭勒盟| 双流县| 安吉县| 木里| 仙游县| 察雅县| 南昌市| 东莞市| 石楼县| 舒兰市| 仪征市| 邓州市| 昌乐县| 惠水县| 中山市| 胶州市| 根河市| 克拉玛依市| 共和县| 灵川县| 大庆市| 克什克腾旗| 于田县| 井研县| 江阴市| 丹棱县| 拜泉县| 永兴县| 板桥市|