我需要在C#中开发一个GUI应用程序,用户可以在算法流程图上自由地添加条件/语句块,如下所示。我的意思是用户可以在箭头所在的任何地方添加一个块。
我有一些问题,头脑风暴如何处理这个问题,特别是如何选择我的数据结构来存储块。我认为LinkedList是因为一切都遵循线性方式,每个节点总是有一个头和尾,但是If/Else块(b>a)有两个分支( head )要存储,所以这使事情变得有点复杂。
一个聪明的人会如何解决这样的问题呢?如果这个问题不适合程序员stackexchange,我很抱歉,但是这更像是一个概念性的问题,而不是实现问题,所以我认为这个地方适合这个问题。

发布于 2012-09-25 11:35:27
我会用图表数据结构。它们通常使用邻接矩阵或邻接列表来实现。MSDN有一个相当扎实的教程。这篇文章涵盖上述两种结构。
发布于 2012-09-26 14:41:16
我在Java中做了类似的事情。
我建立了自己的链接列表。我有一份活动清单和一份连接器清单。
活动类有一个整数,它充当类的键。这是一个从0开始的顺序计数器。可以对活动类进行扩展,以绘制需要表示的不同活动形状。每个形状都有一个边界矩形,因此可以将连接器附加到适当的位置。
Connector类有两个整数,表示from活动和to活动。这样,一个活动是否有多个连接器并不重要。
https://softwareengineering.stackexchange.com/questions/166096
复制相似问题