Skip to content

Instantly share code, notes, and snippets.

@Jacke
Created July 13, 2021 21:46
Show Gist options
  • Save Jacke/c89e6de4fd14506fd3341ac3799e8457 to your computer and use it in GitHub Desktop.
Save Jacke/c89e6de4fd14506fd3341ac3799e8457 to your computer and use it in GitHub Desktop.
Graph Abstract with Subclasses
class Graph {
class Node {
var connectedNodes: List[Graph#Node] = Nil
def connectTo(node: Graph#Node): Unit = {
if (!connectedNodes.exists(node.equals)) {
connectedNodes = node :: connectedNodes
}
}
}
var nodes: List[Node] = Nil
def newNode: Node = {
val res = new Node
nodes = res :: nodes
res
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment