gpt4 book ai didi

c# - 以人类可读的方式表示节点链

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:48 25 4
gpt4 key购买 nike

我正在尝试表示必须逐步绘制的地铁 map 类型的东西(比如它的增长)。

我的代码运行完美,但不可读。基本上它是一个具有递归节点和子节点的树结构,我的测试代码如下所示:

        Children.Add(new TrackLine(800));
Children[0].Children.Add(new TrackSpot());
Children[0].Children[0].Children.Add(new TrackSplitter());

Children[0].Children[0].Children[0].Children.Add(new TrackRotate(-45));
Children[0].Children[0].Children[0].Children[0].Children.Add(new TrackColorChange(Color.Red));
Children[0].Children[0].Children[0].Children[0].Children[0].Children.Add(new TrackLine(100));
Children[0].Children[0].Children[0].Children[0].Children[0].Children[0].Children.Add(new TrackRotate(45));
Children[0].Children[0].Children[0].Children[0].Children[0].Children[0].Children[0].Children.Add(new TrackLine(200));

有没有人对如何解决这个问题有任何建议?

最佳答案

您正在寻找一种方法将其添加到没有自己的 child 的最深的 child 吗?

class Node
{
List<Node> children ;

public void addNode( Node newNode )
{
if( children.Count > 0 )
children[0].addNode( newNode ) ; // recursive call
// to ask first child to add newNode to it
else
children.Add( newNode ) ; // just add it to the children list of THIS node
}
}

关于c# - 以人类可读的方式表示节点链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13505572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com