C#树绘图作业

C#树绘图作业,c#,graph,bitmap,tree,drawing,C#,Graph,Bitmap,Tree,Drawing,我有一个图表,它的输入是这样的: 7 1 | 2 1|3 2|4 2|5 5 | 7 3|6 5 | 7 第一个数字是节点数,例如1 | 2表示从1到2有边。节点只能有两个子节点。我需要在位图上绘制它。我写了一个树深度的递归函数,所以我可以划分位图的高度。但是现在我在绘制这棵树时遇到了麻烦,我无法编写用于绘制它的函数。 请给出解决方法的建议。谢谢 for (int i = 0; i < 2; i++) { odku

我有一个图表,它的输入是这样的:

7
1 | 2
1|3
2|4
2|5
5 | 7
3|6
5 | 7

第一个数字是节点数,例如1 | 2表示从1到2有边。节点只能有两个子节点。我需要在位图上绘制它。我写了一个树深度的递归函数,所以我可以划分位图的高度。但是现在我在绘制这棵树时遇到了麻烦,我无法编写用于绘制它的函数。
请给出解决方法的建议。谢谢

for (int i = 0; i < 2; i++)    
            {  
                    odkud = graf[i, 0];  
                    kam = graf[i, 1];  
                    najdiPotomka2(i, kam, vyska);  
            }
                return maxVyska;
for(int i=0;i<2;i++)
{  
odkud=graf[i,0];
kam=graf[i,1];
najdiPotomka2(i、kam、vyska);
}
返回maxVyska;
这是在函数中,我就是这样得到深度的,递归函数是:

private Boolean najdiPotomka2(int stupen, int hodnota, int vyska)  
        {  
            vyska++;  
            int tempHodnota = hodnota;  
            for (int i = stupen + 1; i < pocetRadek; i++)  
            {  
                if (graf[i, 0] == tempHodnota)  
                {   
                    if(najdiPotomka2(i, graf[i,1], vyska))  
                    {   
                        vyska++;  
                        if (vyska > maxVyska) maxVyska = vyska;  
                        if ((i + 1) <= pocetRadek) najdiPotomka2(i, graf[i + 1, 1], vyska - 1);  
                        return true;  
                    }  
                    else  
                    {  
                        najdiPotomka2(i, tempHodnota, vyska-1);  
                        return true;  
                    }  
                }  
            }            
            if (vyska > maxVyska) maxVyska = vyska;  
            return false;  
        } 
私有布尔najdiPotomka2(int stupen、int hodnota、int vyska)
{  
vyska++;
int tempHodnota=hodnota;
对于(int i=stupen+1;imaxVyska)maxVyska=vyska;
如果((i+1)maxVyska)maxVyska=vyska;
返回false;
} 

现在我正在做一些步骤,并试图找出我是否可以直接实现这个递归函数的绘图。我还尝试从这个网站实现树结构:但我遇到了错误“构造函数不能调用自身”,但这是另一个问题。

根据规则,我认为第一个数字是不必要的,除非你使用
数组,它需要一些固定的init大小。在这种情况下,它与实际输入行数相同。顺便说一句,这看起来像是一些家庭作业。关于解决它的建议,我的建议是:你尝试了什么?你能更详细一些吗关于“我不能为绘制它而编写函数”的问题?我的道歉,这是作业,忘记了编写。我试着编写递归函数来绘制它。你认为当我使用数组时可以绘制它吗?我不知道的主要问题是,我是否应该使用某种结构(数组,或者什么),或者我可以使用某种递归函数(我尝试过,但没有成功)按原样绘制它您的代码使用数组,而您提供的链接使用类和面向对象编程。您的家庭作业需要什么?…它们是非常不同的实现。我可以选择我想要的。我认为将其转换为对象会很好。