adventofcode/2018/internal/day07/debug.go

34 lines
577 B
Go

package day07
import (
"fmt"
)
func DebugPrintTree(root *Node) {
debugPrintTreeR(root, 0)
}
func debugPrintTreeR(node *Node, level int) {
for i := 0; i < level; i++ {
fmt.Printf(" ")
}
DebugPrintNode(node)
for _, child := range node.Children {
debugPrintTreeR(child, level+1)
}
}
func DebugPrintNode(node *Node) {
fmt.Printf("%c @ %p. Children: ", node.Name, node)
for _, child := range node.Children {
fmt.Printf("%c ", child.Name)
}
fmt.Printf("Parents: ")
for _, parent := range node.Parents {
fmt.Printf("%c ", parent.Name)
}
fmt.Printf("\n")
}