1
0

Initial Commit

This commit is contained in:
2021-03-28 20:25:57 +01:00
commit 3a721ac0b4
9 changed files with 127 additions and 0 deletions

48
main.go Normal file
View File

@@ -0,0 +1,48 @@
package main
import (
"fmt"
)
func main() {
MyGraph := DirectedGraph{}
// Instantiate Nodes
FirstNode := Node{Data: City{Name: "Amsterdam", Population: 821_752}}
SecondNode := Node{Data: City{Name: "Dublin", Population: 544_107}}
thirdNode := Node{Data: City{Name: "Berlin", Population: 3_645_000}}
fourthNode := Node{Data: City{Name: "Paris", Population: 2_161_000}}
// Setup relations
FirstNode.Edges[0] = Edge{To: &thirdNode}
SecondNode.Edges[0] = Edge{To: &thirdNode}
FirstNode.Edges[1] = Edge{To: &SecondNode}
thirdNode.Edges[0] = Edge{To: &fourthNode}
// Add Nodes to graph
MyGraph.AddNode(&FirstNode)
MyGraph.AddNode(&SecondNode)
MyGraph.AddNode(&thirdNode)
MyGraph.AddNode(&fourthNode)
fmt.Println("Whats inside the graph")
for index, node := range MyGraph.nodes {
if (node == Node{}) {
continue
}
fmt.Printf("%d %s\t(Pops: %d)\n", index, node.Data.Name, node.Data.Population)
for _, edge := range node.Edges {
if (edge == Edge{}) {
continue
}
fmt.Printf(
"\t- Has a connection to %s\t(Travel Cost: %d)\n",
edge.To.Data.Name,
edge.Cost())
}
fmt.Println()
}
}