#include "binary-tree.h" template void preOrderWalk(BinaryTree *bt, Func f) { if (bt != NULL) { f(bt->valOf()); preOrderWalk(bt->leftOf(), f); preOrderWalk(bt->rightOf(),f); } } template void postOrderWalk(BinaryTree *bt, Func f) { if (bt != NULL) { postOrderWalk(bt->leftOf(), f); postOrderWalk(bt->rightOf(),f); f(bt->valOf()); } } template void inOrderWalk(BinaryTree *bt, Func f) { if (bt != NULL) { inOrderWalk(bt->leftOf(), f); f(bt->valOf()); inOrderWalk(bt->rightOf(),f); } }