求树的布局算法,急。。。

GS_Neo 2009-05-20 11:32:36

利用GDI+在视图中根据树形控件信息绘制树(数据展示),树的节点为一矩形,不知如何布局,望高手指点。。。

跟这个帖子有点类似
http://topic.csdn.net/u/20080821/15/8B4E31F1-AD4B-4BE3-88ED-3A6393237D08.html
...全文
208 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
GS_Neo 2009-05-26
  • 打赏
  • 举报
回复
谢谢了,结贴
GS_Neo 2009-05-25
  • 打赏
  • 举报
回复
顶出个答案来。。。
biweilun 2009-05-25
  • 打赏
  • 举报
回复
http://www.pudn.com/detail.asp?id=736193
hendriclee 2009-05-20
  • 打赏
  • 举报
回复
热学沸腾56 2009-05-20
  • 打赏
  • 举报
回复
主要思路:
遍历是用后序遍历(左->右->根)
对某个节点定位的方法,比如这个节点叫A,如果A是叶节点(没有儿子了),就找到此节点所在的层的可以放它的最左端的位置(也就是此层已布置好的最右端节点的右边一个空位),然后继续把A的儿子节点放完...然后就是定位A了,首先将A的横坐标定位为其所有儿子节点的中点,然后去判断上一层(也就是A节点这层)此左边位置是否为空,如果为空,就可用;如果已被占用,则将A节点这层现有的最右端节点位置+1赋值给A,此时记住移动的位置,将A的儿子节点全部右移此距离,则A及其儿子节点确定。
一次类推...遍历完所有节点即可。

ps:我以前在做故障树画图时,也遇到这个问题,网上找遍了也找不见,最后还是自己想的。可能有些复杂,我可能也没说多么清楚,你可以自己再分析设计一下。
GS_Neo 2009-05-20
  • 打赏
  • 举报
回复
???都没有见过吗。。。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧