From bc2645b50c1f19514861b485e08f62ccb1602590 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 30 Jun 2022 01:58:00 -0600 Subject: fix2 --- pkg/rbtree/print_test.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'pkg/rbtree/print_test.go') 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+" ") -- cgit v1.2.3-2-g168b