Skip to content

Commit bc73299

Browse files
keitaitovincentngo
authored andcommitted
Update Stack and Queue files to use top and front properties (#351)
* Update Stack.swift and StackTests.swift to use top property - peek() method was replaced with top property. Update Stack.swift and StackTests.swift to use top property instead of peek() method. - Fix indentation in Stack/README.markdown. * Update Queue-Optimized.swift and QueueTests.swift to use front property - peek() method was replaced with front property. Update Queue-Optimized.swift and QueueTests.swift to use front property instead of peek() method. - Fix front property implementation of Queue-Optimized in Queue/README.markdown. * Update Queue-Simple.swift to use front property instead of peek() method
1 parent d54ad28 commit bc73299

File tree

7 files changed

+25
-21
lines changed

7 files changed

+25
-21
lines changed

Queue/Queue-Optimized.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public struct Queue<T> {
3737
return element
3838
}
3939

40-
public func peek() -> T? {
40+
public var front: T? {
4141
if isEmpty {
4242
return nil
4343
} else {

Queue/Queue-Simple.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public struct Queue<T> {
3030
}
3131
}
3232

33-
public func peek() -> T? {
33+
public var front: T? {
3434
return array.first
3535
}
3636
}

Queue/README.markdown

+5-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,11 @@ public struct Queue<T> {
167167
}
168168

169169
public var front: T? {
170-
return array.first
170+
if isEmpty {
171+
return nil
172+
} else {
173+
return array[head]
174+
}
171175
}
172176
}
173177
```

Queue/Tests/QueueTests.swift

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class QueueTest: XCTestCase {
66
var queue = Queue<Int>()
77
XCTAssertTrue(queue.isEmpty)
88
XCTAssertEqual(queue.count, 0)
9-
XCTAssertEqual(queue.peek(), nil)
9+
XCTAssertEqual(queue.front, nil)
1010
XCTAssertNil(queue.dequeue())
1111
}
1212

@@ -16,13 +16,13 @@ class QueueTest: XCTestCase {
1616
queue.enqueue(123)
1717
XCTAssertFalse(queue.isEmpty)
1818
XCTAssertEqual(queue.count, 1)
19-
XCTAssertEqual(queue.peek(), 123)
19+
XCTAssertEqual(queue.front, 123)
2020

2121
let result = queue.dequeue()
2222
XCTAssertEqual(result, 123)
2323
XCTAssertTrue(queue.isEmpty)
2424
XCTAssertEqual(queue.count, 0)
25-
XCTAssertEqual(queue.peek(), nil)
25+
XCTAssertEqual(queue.front, nil)
2626
}
2727

2828
func testTwoElements() {
@@ -32,19 +32,19 @@ class QueueTest: XCTestCase {
3232
queue.enqueue(456)
3333
XCTAssertFalse(queue.isEmpty)
3434
XCTAssertEqual(queue.count, 2)
35-
XCTAssertEqual(queue.peek(), 123)
35+
XCTAssertEqual(queue.front, 123)
3636

3737
let result1 = queue.dequeue()
3838
XCTAssertEqual(result1, 123)
3939
XCTAssertFalse(queue.isEmpty)
4040
XCTAssertEqual(queue.count, 1)
41-
XCTAssertEqual(queue.peek(), 456)
41+
XCTAssertEqual(queue.front, 456)
4242

4343
let result2 = queue.dequeue()
4444
XCTAssertEqual(result2, 456)
4545
XCTAssertTrue(queue.isEmpty)
4646
XCTAssertEqual(queue.count, 0)
47-
XCTAssertEqual(queue.peek(), nil)
47+
XCTAssertEqual(queue.front, nil)
4848
}
4949

5050
func testMakeEmpty() {
@@ -58,12 +58,12 @@ class QueueTest: XCTestCase {
5858

5959
queue.enqueue(789)
6060
XCTAssertEqual(queue.count, 1)
61-
XCTAssertEqual(queue.peek(), 789)
61+
XCTAssertEqual(queue.front, 789)
6262

6363
let result = queue.dequeue()
6464
XCTAssertEqual(result, 789)
6565
XCTAssertTrue(queue.isEmpty)
6666
XCTAssertEqual(queue.count, 0)
67-
XCTAssertEqual(queue.peek(), nil)
67+
XCTAssertEqual(queue.front, nil)
6868
}
6969
}

Stack/README.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public struct Stack<T> {
6161
}
6262

6363
public var top: T? {
64-
return array.last
64+
return array.last
6565
}
6666
}
6767
```

Stack/Stack.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public struct Stack<T> {
2222
return array.popLast()
2323
}
2424

25-
public func peek() -> T? {
25+
public var top: T? {
2626
return array.last
2727
}
2828
}

Stack/Tests/StackTests.swift

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class StackTest: XCTestCase {
66
var stack = Stack<Int>()
77
XCTAssertTrue(stack.isEmpty)
88
XCTAssertEqual(stack.count, 0)
9-
XCTAssertEqual(stack.peek(), nil)
9+
XCTAssertEqual(stack.top, nil)
1010
XCTAssertNil(stack.pop())
1111
}
1212

@@ -16,13 +16,13 @@ class StackTest: XCTestCase {
1616
stack.push(123)
1717
XCTAssertFalse(stack.isEmpty)
1818
XCTAssertEqual(stack.count, 1)
19-
XCTAssertEqual(stack.peek(), 123)
19+
XCTAssertEqual(stack.top, 123)
2020

2121
let result = stack.pop()
2222
XCTAssertEqual(result, 123)
2323
XCTAssertTrue(stack.isEmpty)
2424
XCTAssertEqual(stack.count, 0)
25-
XCTAssertEqual(stack.peek(), nil)
25+
XCTAssertEqual(stack.top, nil)
2626
XCTAssertNil(stack.pop())
2727
}
2828

@@ -33,19 +33,19 @@ class StackTest: XCTestCase {
3333
stack.push(456)
3434
XCTAssertFalse(stack.isEmpty)
3535
XCTAssertEqual(stack.count, 2)
36-
XCTAssertEqual(stack.peek(), 456)
36+
XCTAssertEqual(stack.top, 456)
3737

3838
let result1 = stack.pop()
3939
XCTAssertEqual(result1, 456)
4040
XCTAssertFalse(stack.isEmpty)
4141
XCTAssertEqual(stack.count, 1)
42-
XCTAssertEqual(stack.peek(), 123)
42+
XCTAssertEqual(stack.top, 123)
4343

4444
let result2 = stack.pop()
4545
XCTAssertEqual(result2, 123)
4646
XCTAssertTrue(stack.isEmpty)
4747
XCTAssertEqual(stack.count, 0)
48-
XCTAssertEqual(stack.peek(), nil)
48+
XCTAssertEqual(stack.top, nil)
4949
XCTAssertNil(stack.pop())
5050
}
5151

@@ -60,13 +60,13 @@ class StackTest: XCTestCase {
6060

6161
stack.push(789)
6262
XCTAssertEqual(stack.count, 1)
63-
XCTAssertEqual(stack.peek(), 789)
63+
XCTAssertEqual(stack.top, 789)
6464

6565
let result = stack.pop()
6666
XCTAssertEqual(result, 789)
6767
XCTAssertTrue(stack.isEmpty)
6868
XCTAssertEqual(stack.count, 0)
69-
XCTAssertEqual(stack.peek(), nil)
69+
XCTAssertEqual(stack.top, nil)
7070
XCTAssertNil(stack.pop())
7171
}
7272
}

0 commit comments

Comments
 (0)