我正在尝试找到一种数据结构来帮助我模拟这个场景......
我有一组具有两种类型的表达式: 1. 具有应执行的计算并返回 true 或 false 结果的表达式 2.打印出信息且无返回值的表达式 这些表达式的顺序取决于其计算结果。
表达式存储在数据库中,并在运行时加载到数据结构中,该数据结构需要保留表达式的顺序以及根据表达式的结果应遵循的决策。
让我用一个简单的例子来说明这一点,其中有 4 个表达式,前两个是规则,执行时有 true 或 false 返回值,但最后 2 个只是信息性的,因此执行后流程将继续到下一个表达式。
Expression 1: "5+5=10" If True then go to Expression 2 If False then go to Expression 4
Expression 2: "6+1=7" If True then go to Expression 4 If False then go to Expression 3
Expression 3: "print hello"
Expression 4: "print goodbye"
我的直接想法是,数据结构可能是某种链表,它不仅需要有 next() 方法来指向下一个表达式,还需要 true() 和 false() 方法来指向下一个表达式如果表达式有返回值,则使用适当的节点。
有没有既定的方法来建模这种类型的关系?
最佳答案
您可以简单地使用二叉树。
关于Java - 带有决策的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635136/