Skip to content
Snippets Groups Projects
Commit 3584308f authored by Viktor Kuncak's avatar Viktor Kuncak
Browse files

BST is not working

parent 745e763a
Branches
Tags
No related merge requests found
...@@ -49,7 +49,7 @@ object BSTSimpler { ...@@ -49,7 +49,7 @@ object BSTSimpler {
def emptySet(): Tree = Leaf() def emptySet(): Tree = Leaf()
def insert(tree: Tree, value: Int): Node = { def insert(tree: Tree, value: Int): Node = {
require(size(tree) <= 1 && isBST(tree)) require(isBST(tree))
tree match { tree match {
case Leaf() => Node(Leaf(), value, Leaf()) case Leaf() => Node(Leaf(), value, Leaf())
case Node(l, v, r) => (if (v < value) { case Node(l, v, r) => (if (v < value) {
...@@ -62,6 +62,22 @@ object BSTSimpler { ...@@ -62,6 +62,22 @@ object BSTSimpler {
} }
} ensuring(res => isBST(res) && content(res) == content(tree) ++ Set(value)) } ensuring(res => isBST(res) && content(res) == content(tree) ++ Set(value))
/*
def remove(tree : Tree, value : Int) : Tree = {
require(size(tree) <= 1 && isBST(tree))
tree match {
case Leaf() => Node(Leaf(), value, Leaf())
case Node(l, v, r) => (if (v < value) {
Node(l, v, insert(r, value))
} else if (v > value) {
Node(insert(l, value), v, r)
} else {
Node(l, v, r)
})
}
}
*/
def createRoot(v: Int): Node = { def createRoot(v: Int): Node = {
Node(Leaf(), v, Leaf()) Node(Leaf(), v, Leaf())
} ensuring (content(_) == Set(v)) } ensuring (content(_) == Set(v))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment