Initial Commit
This commit is contained in:
48
main.go
Normal file
48
main.go
Normal 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()
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user