Anonymous user
Algebraic data types: Difference between revisions
→PatternWithAction
Line 712:
| black(ColoredTree left, ColoredTree right);
// Count the number of
public int
int c = 0;
visit(t) {
case
};
return c;
}
// Returns if a tree is balanced
public bool balance(ColoredTree t){
visit(t){
case black(a,b): if (cntBlack(a) == cntBlack(b)) true; else return false;
case red(a,b): if (cntBlack(a) == cntBlack(b)) true; else return false;
}
return true;
}
// Compute the sum of all integer leaves
public int addLeaves(ColoredTree t){
int c = 0;
visit(t) {
case leaf(int N):
};
return c;
|