diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-30 01:58:00 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-30 01:58:32 -0600 |
commit | bc2645b50c1f19514861b485e08f62ccb1602590 (patch) | |
tree | 9a2f244d949dbc6837fbe8b9febfb28463f6039e /pkg/rbtree/print_test.go | |
parent | 0f196fa9c2908a7ea9b2114a9119707df8880328 (diff) |
fix2
Diffstat (limited to 'pkg/rbtree/print_test.go')
-rw-r--r-- | pkg/rbtree/print_test.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/pkg/rbtree/print_test.go b/pkg/rbtree/print_test.go index c4154c8..3e37cf2 100644 --- a/pkg/rbtree/print_test.go +++ b/pkg/rbtree/print_test.go @@ -12,6 +12,17 @@ func (t *Tree[K, V]) ASCIIArt() string { return out.String() } +func (node *Node[V]) String() string { + switch { + case node == nil: + return "nil" + case node.Color == Red: + return fmt.Sprintf("R(%v)", node.Value) + default: + return fmt.Sprintf("B(%v)", node.Value) + } +} + func (node *Node[V]) asciiArt(w io.Writer, u, m, l string) { if node == nil { fmt.Fprintf(w, "%snil\n", m) @@ -21,9 +32,9 @@ func (node *Node[V]) asciiArt(w io.Writer, u, m, l string) { node.Right.asciiArt(w, u+" ", u+" ,--", u+" | ") if node.Color == Red { - fmt.Fprintf(w, "%sR(%v)\n", m, node.Value) + fmt.Fprintf(w, "%s%v\n", m, node) } else { - fmt.Fprintf(w, "%sB(%v)\n", m, node.Value) + fmt.Fprintf(w, "%s%v\n", m, node) } node.Left.asciiArt(w, l+" | ", l+" `--", l+" ") |