GreatSyntacticShift: Parser test data fixed
This commit is contained in:
@@ -28,9 +28,9 @@ class BinaryTree<T> : IMutableSet<T> {
|
||||
fun contains(node : TreeNode, item : T) : Boolean {
|
||||
if (node == null) return false
|
||||
when(compare(item, node.value)) {
|
||||
EQ => true
|
||||
LS => contains(node.left, item)
|
||||
GT => contains(node.right, item)
|
||||
EQ -> true
|
||||
LS -> contains(node.left, item)
|
||||
GT -> contains(node.right, item)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,9 +51,9 @@ class BinaryTree<T> : IMutableSet<T> {
|
||||
return true
|
||||
}
|
||||
when (compare(item, node.value)) {
|
||||
EQ => false
|
||||
LS => add(ref node.left, node)
|
||||
GT => add(ref node.right, node)
|
||||
EQ -> false
|
||||
LS -> add(ref node.left, node)
|
||||
GT -> add(ref node.right, node)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,13 +64,13 @@ class BinaryTree<T> : IMutableSet<T> {
|
||||
return true
|
||||
}
|
||||
when (compare(item, node.value)) {
|
||||
EQ => return false
|
||||
LS =>
|
||||
EQ -> return false
|
||||
LS ->
|
||||
if (node.left == null) {
|
||||
node.left = TreeNode(item, node)
|
||||
return true
|
||||
} else return add(node.left)
|
||||
GT =>
|
||||
GT ->
|
||||
if (node.right == null) {
|
||||
node.right = TreeNode(item, node)
|
||||
return true
|
||||
@@ -90,19 +90,19 @@ class BinaryTree<T> : IMutableSet<T> {
|
||||
fun find(node : TreeNode) : TreeNode {
|
||||
if (node == null) return null
|
||||
when (compare(item, node.value)) {
|
||||
EQ => node
|
||||
LS => find(node.left)
|
||||
GT => find(node.right)
|
||||
EQ -> node
|
||||
LS -> find(node.left)
|
||||
GT -> find(node.right)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun remove(node : TreeNode) {
|
||||
when (node) {
|
||||
is TreeNode @ (null, null) => replace(node, null)
|
||||
is TreeNode @ (null, right) => replace(node, right)
|
||||
is TreeNode @ (left, null) => replace(node, left)
|
||||
is TreeNode @ (left, right) => {
|
||||
is TreeNode #(null, null) -> replace(node, null)
|
||||
is TreeNode #(null, right) -> replace(node, right)
|
||||
is TreeNode #(left, null) -> replace(node, left)
|
||||
is TreeNode #(left, right) -> {
|
||||
val min = min(node.right)
|
||||
node.value = min.value
|
||||
remove(min)
|
||||
|
||||
Reference in New Issue
Block a user