繁体   English   中英

如何使用集合实现类别层次结构

[英]How to implement a category hierarchy using collections

我有大约200个嵌套的类别。 我目前正在阅读有关C5泛型库的文档。 我不确定C5库是否过大。 我正在考虑将所有自定义算法转换为C5实现。

这就是我所需要的。 如果选择某个类别,我需要找到其父母,兄弟姐妹,直系子女和所有子女。

这是我设置的方式。 要找到:

父母:我从当前位置开始,然后遍历列表,找到当前父母。 当我找到父母时,我再次遍历整个列表以查找下一个父母,依此类推。

兄弟姐妹:我遍历整个列表,找到与所选节点具有相同父级的所有节点。

直接子代:我遍历整个列表,找到作为所选节点父代的所有节点。

所有的孩子:这个花了我一段时间才弄清楚。 但是我使用递归来查找所选节点的所有子代。

有没有更好的方法来实现这样的事情?

为什么必须基于集合? 我只用属性Category ParentIList<Category> Children创建类Category 这样,找到父母或前辈真的很容易(而且很快!),找到孩子也很容易,兄弟姐妹是除当前类别之外的父母的孩子,所以他们也很容易。 而找到后代则是微不足道的递归。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM