Skip to content

Commit e8a7141

Browse files
authored
Merge pull request kodecocodes#335 from cruisediary/master
Updating to Swift3 (enum lowercase)
2 parents ecd560f + 356844c commit e8a7141

File tree

8 files changed

+132
-132
lines changed

8 files changed

+132
-132
lines changed

Binary Search Tree/Solution 2/BinarySearchTree.playground/Contents.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//: Playground - noun: a place where people can play
22

33
// Each time you insert something, you get back a completely new tree.
4-
var tree = BinarySearchTree.Leaf(7)
4+
var tree = BinarySearchTree.leaf(7)
55
tree = tree.insert(newValue: 2)
66
tree = tree.insert(newValue: 5)
77
tree = tree.insert(newValue: 10)

Binary Search Tree/Solution 2/BinarySearchTree.playground/Sources/BinarySearchTree.swift

+27-27
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,25 @@
44
The tree is immutable. Any insertions or deletions will create a new tree.
55
*/
66
public enum BinarySearchTree<T: Comparable> {
7-
case Empty
8-
case Leaf(T)
9-
indirect case Node(BinarySearchTree, T, BinarySearchTree)
7+
case empty
8+
case leaf(T)
9+
indirect case node(BinarySearchTree, T, BinarySearchTree)
1010

1111
/* How many nodes are in this subtree. Performance: O(n). */
1212
public var count: Int {
1313
switch self {
14-
case .Empty: return 0
15-
case .Leaf: return 1
16-
case let .Node(left, _, right): return left.count + 1 + right.count
14+
case .empty: return 0
15+
case .leaf: return 1
16+
case let .node(left, _, right): return left.count + 1 + right.count
1717
}
1818
}
1919

2020
/* Distance of this node to its lowest leaf. Performance: O(n). */
2121
public var height: Int {
2222
switch self {
23-
case .Empty: return 0
24-
case .Leaf: return 1
25-
case let .Node(left, _, right): return 1 + max(left.height, right.height)
23+
case .empty: return 0
24+
case .leaf: return 1
25+
case let .node(left, _, right): return 1 + max(left.height, right.height)
2626
}
2727
}
2828

@@ -32,21 +32,21 @@ public enum BinarySearchTree<T: Comparable> {
3232
*/
3333
public func insert(newValue: T) -> BinarySearchTree {
3434
switch self {
35-
case .Empty:
36-
return .Leaf(newValue)
35+
case .empty:
36+
return .leaf(newValue)
3737

38-
case .Leaf(let value):
38+
case .leaf(let value):
3939
if newValue < value {
40-
return .Node(.Leaf(newValue), value, .Empty)
40+
return .node(.leaf(newValue), value, .empty)
4141
} else {
42-
return .Node(.Empty, value, .Leaf(newValue))
42+
return .node(.empty, value, .leaf(newValue))
4343
}
4444

45-
case .Node(let left, let value, let right):
45+
case .node(let left, let value, let right):
4646
if newValue < value {
47-
return .Node(left.insert(newValue: newValue), value, right)
47+
return .node(left.insert(newValue: newValue), value, right)
4848
} else {
49-
return .Node(left, value, right.insert(newValue: newValue))
49+
return .node(left, value, right.insert(newValue: newValue))
5050
}
5151
}
5252
}
@@ -57,11 +57,11 @@ public enum BinarySearchTree<T: Comparable> {
5757
*/
5858
public func search(x: T) -> BinarySearchTree? {
5959
switch self {
60-
case .Empty:
60+
case .empty:
6161
return nil
62-
case .Leaf(let y):
62+
case .leaf(let y):
6363
return (x == y) ? self : nil
64-
case let .Node(left, y, right):
64+
case let .node(left, y, right):
6565
if x < y {
6666
return left.search(x: x)
6767
} else if y < x {
@@ -82,11 +82,11 @@ public enum BinarySearchTree<T: Comparable> {
8282
public func minimum() -> BinarySearchTree {
8383
var node = self
8484
var prev = node
85-
while case let .Node(next, _, _) = node {
85+
while case let .node(next, _, _) = node {
8686
prev = node
8787
node = next
8888
}
89-
if case .Leaf = node {
89+
if case .leaf = node {
9090
return node
9191
}
9292
return prev
@@ -98,11 +98,11 @@ public enum BinarySearchTree<T: Comparable> {
9898
public func maximum() -> BinarySearchTree {
9999
var node = self
100100
var prev = node
101-
while case let .Node(_, _, next) = node {
101+
while case let .node(_, _, next) = node {
102102
prev = node
103103
node = next
104104
}
105-
if case .Leaf = node {
105+
if case .leaf = node {
106106
return node
107107
}
108108
return prev
@@ -112,9 +112,9 @@ public enum BinarySearchTree<T: Comparable> {
112112
extension BinarySearchTree: CustomDebugStringConvertible {
113113
public var debugDescription: String {
114114
switch self {
115-
case .Empty: return "."
116-
case .Leaf(let value): return "\(value)"
117-
case .Node(let left, let value, let right):
115+
case .empty: return "."
116+
case .leaf(let value): return "\(value)"
117+
case .node(let left, let value, let right):
118118
return "(\(left.debugDescription) <- \(value) -> \(right.debugDescription))"
119119
}
120120
}

Binary Search Tree/Solution 2/BinarySearchTree.swift

+27-27
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,25 @@
44
The tree is immutable. Any insertions or deletions will create a new tree.
55
*/
66
public enum BinarySearchTree<T: Comparable> {
7-
case Empty
8-
case Leaf(T)
9-
indirect case Node(BinarySearchTree, T, BinarySearchTree)
7+
case empty
8+
case leaf(T)
9+
indirect case node(BinarySearchTree, T, BinarySearchTree)
1010

1111
/* How many nodes are in this subtree. Performance: O(n). */
1212
public var count: Int {
1313
switch self {
14-
case .Empty: return 0
15-
case .Leaf: return 1
16-
case let .Node(left, _, right): return left.count + 1 + right.count
14+
case .empty: return 0
15+
case .leaf: return 1
16+
case let .node(left, _, right): return left.count + 1 + right.count
1717
}
1818
}
1919

2020
/* Distance of this node to its lowest leaf. Performance: O(n). */
2121
public var height: Int {
2222
switch self {
23-
case .Empty: return 0
24-
case .Leaf: return 1
25-
case let .Node(left, _, right): return 1 + max(left.height, right.height)
23+
case .empty: return 0
24+
case .leaf: return 1
25+
case let .node(left, _, right): return 1 + max(left.height, right.height)
2626
}
2727
}
2828

@@ -32,21 +32,21 @@ public enum BinarySearchTree<T: Comparable> {
3232
*/
3333
public func insert(newValue: T) -> BinarySearchTree {
3434
switch self {
35-
case .Empty:
36-
return .Leaf(newValue)
35+
case .empty:
36+
return .leaf(newValue)
3737

38-
case .Leaf(let value):
38+
case .leaf(let value):
3939
if newValue < value {
40-
return .Node(.Leaf(newValue), value, .Empty)
40+
return .node(.leaf(newValue), value, .empty)
4141
} else {
42-
return .Node(.Empty, value, .Leaf(newValue))
42+
return .node(.empty, value, .leaf(newValue))
4343
}
4444

45-
case .Node(let left, let value, let right):
45+
case .node(let left, let value, let right):
4646
if newValue < value {
47-
return .Node(left.insert(newValue), value, right)
47+
return .node(left.insert(newValue), value, right)
4848
} else {
49-
return .Node(left, value, right.insert(newValue))
49+
return .node(left, value, right.insert(newValue))
5050
}
5151
}
5252
}
@@ -57,11 +57,11 @@ public enum BinarySearchTree<T: Comparable> {
5757
*/
5858
public func search(x: T) -> BinarySearchTree? {
5959
switch self {
60-
case .Empty:
60+
case .empty:
6161
return nil
62-
case .Leaf(let y):
62+
case .leaf(let y):
6363
return (x == y) ? self : nil
64-
case let .Node(left, y, right):
64+
case let .node(left, y, right):
6565
if x < y {
6666
return left.search(x)
6767
} else if y < x {
@@ -82,11 +82,11 @@ public enum BinarySearchTree<T: Comparable> {
8282
public func minimum() -> BinarySearchTree {
8383
var node = self
8484
var prev = node
85-
while case let .Node(next, _, _) = node {
85+
while case let .node(next, _, _) = node {
8686
prev = node
8787
node = next
8888
}
89-
if case .Leaf = node {
89+
if case .leaf = node {
9090
return node
9191
}
9292
return prev
@@ -98,11 +98,11 @@ public enum BinarySearchTree<T: Comparable> {
9898
public func maximum() -> BinarySearchTree {
9999
var node = self
100100
var prev = node
101-
while case let .Node(_, _, next) = node {
101+
while case let .node(_, _, next) = node {
102102
prev = node
103103
node = next
104104
}
105-
if case .Leaf = node {
105+
if case .leaf = node {
106106
return node
107107
}
108108
return prev
@@ -112,9 +112,9 @@ public enum BinarySearchTree<T: Comparable> {
112112
extension BinarySearchTree: CustomDebugStringConvertible {
113113
public var debugDescription: String {
114114
switch self {
115-
case .Empty: return "."
116-
case .Leaf(let value): return "\(value)"
117-
case .Node(let left, let value, let right):
115+
case .empty: return "."
116+
case .leaf(let value): return "\(value)"
117+
case .node(let left, let value, let right):
118118
return "(\(left.debugDescription) <- \(value) -> \(right.debugDescription))"
119119
}
120120
}

Counting Sort/CountingSort.playground/Contents.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
//: Playground - noun: a place where people can play
22

33
enum CountingSortError: Error {
4-
case ArrayEmpty
4+
case arrayEmpty
55
}
66

77
func countingSort(array: [Int]) throws -> [Int] {
88
guard array.count > 0 else {
9-
throw CountingSortError.ArrayEmpty
9+
throw CountingSortError.arrayEmpty
1010
}
1111

1212
// Step 1
@@ -38,4 +38,4 @@ func countingSort(array: [Int]) throws -> [Int] {
3838
}
3939

4040

41-
try countingSort(array: [10, 9, 8, 7, 1, 2, 7, 3])
41+
try countingSort(array: [10, 9, 8, 7, 1, 2, 7, 3])

Counting Sort/CountingSort.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
//
88

99
enum CountingSortError: ErrorType {
10-
case ArrayEmpty
10+
case arrayEmpty
1111
}
1212

1313
func countingSort(array: [Int]) throws -> [Int] {
1414
guard array.count > 0 else {
15-
throw CountingSortError.ArrayEmpty
15+
throw CountingSortError.arrayEmpty
1616
}
1717

1818
// Step 1

Linked List/README.markdown

+2-2
Original file line numberDiff line numberDiff line change
@@ -526,8 +526,8 @@ It is possible to implement a linked list with value semantics using an enum. Th
526526

527527
```swift
528528
enum ListNode<T> {
529-
indirect case Node(T, next: ListNode<T>)
530-
case End
529+
indirect case node(T, next: ListNode<T>)
530+
case end
531531
}
532532
```
533533

0 commit comments

Comments
 (0)