File tree Expand file tree Collapse file tree 2 files changed +15
-13
lines changed
Binary Search Tree/Solution 2/BinarySearchTree.playground Expand file tree Collapse file tree 2 files changed +15
-13
lines changed Original file line number Diff line number Diff line change 2
2
3
3
// Each time you insert something, you get back a completely new tree.
4
4
var tree = BinarySearchTree . Leaf ( 7 )
5
- tree = tree. insert ( 2 )
6
- tree = tree. insert ( 5 )
7
- tree = tree. insert ( 10 )
8
- tree = tree. insert ( 9 )
9
- tree = tree. insert ( 1 )
5
+ tree = tree. insert ( newValue : 2 )
6
+ tree = tree. insert ( newValue : 5 )
7
+ tree = tree. insert ( newValue : 10 )
8
+ tree = tree. insert ( newValue : 9 )
9
+ tree = tree. insert ( newValue : 1 )
10
10
print ( tree)
11
11
12
- tree. search ( 10 )
13
- tree. search ( 1 )
14
- tree. search ( 11 )
12
+ tree. search ( x: 10 )
13
+ tree. search ( x: 1 )
14
+ tree. search ( x: 11 )
15
+
16
+
Original file line number Diff line number Diff line change @@ -44,9 +44,9 @@ public enum BinarySearchTree<T: Comparable> {
44
44
45
45
case . Node( let left, let value, let right) :
46
46
if newValue < value {
47
- return . Node( left. insert ( newValue) , value, right)
47
+ return . Node( left. insert ( newValue: newValue ) , value, right)
48
48
} else {
49
- return . Node( left, value, right. insert ( newValue) )
49
+ return . Node( left, value, right. insert ( newValue: newValue ) )
50
50
}
51
51
}
52
52
}
@@ -63,17 +63,17 @@ public enum BinarySearchTree<T: Comparable> {
63
63
return ( x == y) ? self : nil
64
64
case let . Node( left, y, right) :
65
65
if x < y {
66
- return left. search ( x)
66
+ return left. search ( x: x )
67
67
} else if y < x {
68
- return right. search ( x)
68
+ return right. search ( x: x )
69
69
} else {
70
70
return self
71
71
}
72
72
}
73
73
}
74
74
75
75
public func contains( x: T ) -> Bool {
76
- return search ( x) != nil
76
+ return search ( x: x ) != nil
77
77
}
78
78
79
79
/*
You can’t perform that action at this time.
0 commit comments