具有樹(在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