Bonjour,
J'aimerais remplir un arbre java de la facon suivante :
Un texte de type :
a b c d|e f g|h
donnerais :
Pour le moment j'ai fait l'algo suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 a | b | c / \ d e | | f f / \ / \ g h g h
J'arrive donc a cree un arbre normal sans probleme avec mon algo recursif. Mais J'arrive pas a gerer le pipe. Je sais pas si je vais dans la bonne voie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 ArrayList<String> patterns; ArrayList<Node> nodes; Node root; int deep = 0; private String pattern[]; public void build() { nodes = new ArrayList<Node>(); for (int i=0; i<patterns.size(); i++) { pattern = patterns.get(i).split(" "); root = createNode(); nodes.add(root); } } public Node createNode() { Node tmp = new Node(); if (deep < pattern.length) { deep++; for (int i=0; i<pattern.length; i++) { Node node = new Node(); node.setValue(pattern[deep-1]); node.addChild(createNode()); tmp = node; } deep--; } return tmp; } }
Une petite idee ?
Partager