riordinato alcuni package e creato una prima implementazione di set e mergetemplate
This commit is contained in:
45
utility/euler_tour/expressions/StringExpressionTour.java
Normal file
45
utility/euler_tour/expressions/StringExpressionTour.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package utility.euler_tour.expressions;
|
||||
|
||||
import utility.euler_tour.EulerTour;
|
||||
import position.Position;
|
||||
import tree.binarytree.BinaryTree;
|
||||
|
||||
/**
|
||||
* Created with MONSTER.
|
||||
* User: xgiovio
|
||||
* Date: 27/04/2014
|
||||
* Time: 13:11
|
||||
*/
|
||||
public class StringExpressionTour extends EulerTour<ExpressionTerm,String> {
|
||||
|
||||
public String execute(BinaryTree<ExpressionTerm> T) {
|
||||
init(T);
|
||||
return eulerTour(T.root());
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void visitLeft(Position<ExpressionTerm> v, TourResult<String> r) {
|
||||
if (tree.isInternal(v)) {
|
||||
r.out = new String("(");
|
||||
}else {
|
||||
r.out = new String("");
|
||||
}
|
||||
}
|
||||
|
||||
protected void visitBelow(Position<ExpressionTerm> v, TourResult<String> r) {
|
||||
if (tree.isInternal(v)) {
|
||||
r.out += r.left;
|
||||
}
|
||||
r.out += v.element();
|
||||
}
|
||||
|
||||
protected void visitRight(Position<ExpressionTerm> v,TourResult<String> r) {
|
||||
if (tree.isInternal(v)) {
|
||||
r.out += r.right;
|
||||
r.out += ")";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user