您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2015-11-18 13:19 274 查看
**

关系表中的父子关系表转化成树形列表

**

最近一直在烦恼如何清晰的呈现父子关系表,终于利用哈希表实现,算法和数据结构的使用可能并不是太好。基本的思想是:

1,将父子关系表中的数据取出存入list;

2,定义node,tree结构,定义必要的行为;

3,将list[i]封装为node,然后存入Hashtable tree.nodes,key为nodeid,value为node得到nodes地图;但是现在光有地图还不行,有了地图还要有每个地图点的下属地图索引,这样才能一次找出所有的后代!

4,遍历nodes,由node.parent_id找到父node位置,然后将node.key存入父node的childrennodekeys。这样的到包含子nodes的nodes地图。

5,得到了地图之后就可以根据任意的node找到其所对应的后代。使用递归查询selectnodechildrentree(node f),遍历childrennodes,如果chlidrennode的子node不为零 递归调用selectnodechildrentree(node f)这样就达到了本人想要查询任意chidrentree的目的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: