File tree 1 file changed +26
-26
lines changed
1 file changed +26
-26
lines changed Original file line number Diff line number Diff line change 3
3
Push and pop are O(1) operations.
4
4
*/
5
5
public struct Stack < T> {
6
- fileprivate var array = [ T] ( )
7
-
8
- public var isEmpty : Bool {
9
- return array. isEmpty
10
- }
11
-
12
- public var count : Int {
13
- return array. count
14
- }
15
-
16
- public mutating func push( _ element: T ) {
17
- array. append ( element)
18
- }
19
-
20
- public mutating func pop( ) -> T ? {
21
- return array. popLast ( )
22
- }
23
-
24
- public var top : T ? {
25
- return array. last
26
- }
6
+ fileprivate var array = [ T] ( )
7
+
8
+ public var isEmpty : Bool {
9
+ return array. isEmpty
10
+ }
11
+
12
+ public var count : Int {
13
+ return array. count
14
+ }
15
+
16
+ public mutating func push( _ element: T ) {
17
+ array. append ( element)
18
+ }
19
+
20
+ public mutating func pop( ) -> T ? {
21
+ return array. popLast ( )
22
+ }
23
+
24
+ public var top : T ? {
25
+ return array. last
26
+ }
27
27
}
28
28
29
29
extension Stack : Sequence {
30
- public func makeIterator( ) -> AnyIterator < T > {
31
- var curr = self
32
- return AnyIterator {
33
- return curr. pop ( )
34
- }
30
+ public func makeIterator( ) -> AnyIterator < T > {
31
+ var curr = self
32
+ return AnyIterator {
33
+ return curr. pop ( )
35
34
}
35
+ }
36
36
}
You can’t perform that action at this time.
0 commit comments