现有一文本文件(0,a, 1)
(1, b, 0)
(1, c, 2)
(2, d, 0)
(2, e, 3)
(2, f, 4)
(3, g, 0)
(4, h, 0)
该文本可以用于描述一棵树,我已经将文本读入内存,将信息
相应规类,我定义了一个叫edge的class,属性为begin,label,end
用以分别对于一行里的相应信息。
然后定义了一个叫tree的class,是用来存放这8行的全部信息(edge的集合)。
即:
final int line = 8;
edge [] tree = new edge [line];现在我想生成一个叫Trees的class,是tree的集合
内容为
Trees[0]:
(0,a, 1)
(1, b, 0)Trees[1]:
(0,a, 1)
(1, c, 2)
(2, d, 0)Trees[2]:
(0,a, 1)
(1, c, 2)
(2, e, 3)
(3, g, 0)
Trees[3]:
(0,a, 1)
(1, c, 2)
(2, e, 4)
(4, g, 0)即生成若干子树。请大家帮帮我,如何用java来编这个生成。
不甚感激!

解决方案 »

  1.   

    ^_^,用HashMap吧.以第二个元素即字母为键.
      

  2.   

    用2维的的可以吗?就是把edge搞成2维的啊,然后用2个for进行附值,而且我没看明白你的这个树是怎么回事,树叶是什么?树枝是什么?否则有另外一个方法解决!
    难道abcdefg都是树叶,数字都是树枝吗?如果是这样的话,那么你就要设计2个类,一个为树枝类,里面有一个树枝field,树叶field搞不懂你这个树派什么用???
    然后就可以根据给出的不同的树枝进行浏览了~
      

  3.   

    对不起,我想我没有解释清楚,可以把这棵树理解成一个状态图更好.
    数字是对应的状态号,字母是对应的从某一状态到另一状态的操作.
    字母是为了简便我乱编的,实践中会被加入附加的信息.我的思路是状态号是关键,有点像是祖宗找后代的问题,然后把找到
    的后代跟他的所有宗亲对应显示.不知道我这个解释是不是有点幼稚
    了些.我不熟悉java,只在sql里见过类似递归查询.
    请哪位java高手帮帮我吧!