()
| 99 | } |
| 100 | |
| 101 | func (g *Graph) String() string { |
| 102 | out := strings.Builder{} |
| 103 | |
| 104 | for _, left := range g.order { |
| 105 | out.WriteString(fmt.Sprintf("%s:\n", left)) |
| 106 | if len(g.nodes[left]) > 0 { |
| 107 | for right := range g.nodes[left] { |
| 108 | out.WriteString(fmt.Sprintf("- %s\n", right)) |
| 109 | } |
| 110 | } |
| 111 | } |
| 112 | |
| 113 | return out.String() |
| 114 | } |
| 115 | |
| 116 | func (g *Graph) add(item Node) { |
| 117 | if _, ok := g.nodes[item]; !ok { |