具有树(在DB逻辑)与项目形式获取下一个项目在树上
- 列表项
- 清单B项
- 清单项目C
- 清单项目D
- 列表E项
- 列表项目F
- 列表商品G
等(嵌套深度不限),我想下一个节点向下(或向上) ,从任意节点开始。
比方说,List Item D
给出我想写一个函数GetNextNode()
,将返回List Item E
。
我的想法是做一些递归的东西,但也许有一个更聪明的方式来处理呢?
我的问题:
你会如何解决这个问题?
EDIT 1:
树可以用函数访问,如:
GetParentNode()
GetChildrenNodes()
GetNextSiblingNode()
- 等
所以它类似于例如ËWindows窗体TreeView
。
(不,这不是功课,我目前38年没有孩子,所以既不我也不要他们必须做的功课;-)
你问的是如何将它存储在数据库中,你的项目是否已经存在于你的窗体的TreeView中,或者一般如何创建这样的东西? – Jaapjan 2011-04-14 09:31:43
你可以多说一下如何表示树的结构? – 2011-04-14 09:32:12
在树中迭代有很多种不同的方式 - 树“遍历”是一个复杂的主题。 > http://en.wikipedia.org/wiki/Tree_traversal <值得注意的是,树结构和递归并行,一般来说,如果没有其他的,你就不会得到一个。 – MattDavey 2011-04-14 10:13:24