package brs.visitor; import brs.*; /** * Add all the numbers in a tree in in-order. * @author DXN */ public class InOrderAdd implements IVisitor { public static final InOrderAdd Singleton = new InOrderAdd(); private InOrderAdd() { } public Object emptyCase(BiTree host, Object nu) { return 0; } public Object nonEmptyCase(BiTree host, Object nu) { Integer left = (Integer)host.getLeftSubTree().execute(this, null); Integer root = (Integer)host.getRootDat(); Integer right = (Integer)host.getRightSubTree().execute(this, null); return left + root + right; } }