zoukankan      html  css  js  c++  java
  • C#实现树的双亲表示法


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace 树的实现
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            //构造一个双亲法表示树的类
            public class aTree
            {
                public int ID, pID;
                public string sNode;
                public aTree()
                {
                    ID = pID = -1;
                    sNode = "";
                }
            }
            //将双亲法表示的树转换为TreeNode类型
            public void cTree(TreeNode pT,aTree[] aT,int n,int pNode)
            {
                for (int i = 0; i < n; i++)
                {
                    if (aT[i].pID == pNode)
                    {
                        TreeNode T = new TreeNode();
                        T.Tag = aT[i].ID;
                        T.Text = aT[i].sNode;
                        pT.Nodes.Add(T);
                        cTree(T, aT, n, i);//递归
                    }
                }
            }
            private void button1_Click(object sender, EventArgs e)
            {
                aTree []T=new aTree[4];
                for (int i = 0; i < 4; i++)
                    T[i] = new aTree();
                T[0].ID = 0; T[0].pID = -1; T[0].sNode = "A";
                T[1].ID = 1; T[1].pID = 0; T[1].sNode = "B";
                T[2].ID = 2; T[2].pID = 0; T[2].sNode = "C";
                T[3].ID = 3; T[3].pID = 2; T[3].sNode = "D";
                TreeNode TN = new TreeNode();//加入一个根结点
                TN.Tag = T[0].ID;
                TN.Text = T[0].sNode;
                cTree(TN, T, 4, 0);
                treeView1.Nodes.Clear();
                treeView1.Nodes.Add(TN);
            }
        }
    }
    


  • 相关阅读:
    matrix
    meizi
    公文流转系统
    10.21连接数据库进行添加
    9.27
    9.23课堂总结
    信息管理java
    大道至简读后感
    第二周
    7.7第一周
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5177678.html
Copyright © 2011-2022 走看看