File tree 2 files changed +34
-31
lines changed
Shunting Yard/ShuntingYard.playground
2 files changed +34
-31
lines changed Original file line number Diff line number Diff line change 1
1
//: Playground - noun: a place where people can play
2
2
3
+ // last checked with Xcode 9.0b4
4
+ #if swift(>=4.0)
5
+ print ( " Hello, Swift 4! " )
6
+ #endif
7
+
3
8
internal enum OperatorAssociativity {
4
9
case leftAssociative
5
10
case rightAssociative
Original file line number Diff line number Diff line change 1
1
import Foundation
2
2
3
3
public struct Stack < T> {
4
- fileprivate var array = [ T] ( )
5
-
6
- public init ( ) {
7
-
8
- }
9
-
10
- public var isEmpty : Bool {
11
- return array. isEmpty
12
- }
13
-
14
- public var count : Int {
15
- return array. count
16
- }
17
-
18
- public mutating func push( _ element: T ) {
19
- array. append ( element)
20
- }
21
-
22
- public mutating func pop( ) -> T ? {
23
- return array. popLast ( )
24
- }
25
-
26
- public var top : T ? {
27
- return array. last
28
- }
4
+ fileprivate var array = [ T] ( )
5
+
6
+ public init ( ) {
7
+
8
+ }
9
+
10
+ public var isEmpty : Bool {
11
+ return array. isEmpty
12
+ }
13
+
14
+ public var count : Int {
15
+ return array. count
16
+ }
17
+
18
+ public mutating func push( _ element: T ) {
19
+ array. append ( element)
20
+ }
21
+
22
+ public mutating func pop( ) -> T ? {
23
+ return array. popLast ( )
24
+ }
25
+
26
+ public var top : T ? {
27
+ return array. last
28
+ }
29
29
}
30
30
31
31
extension Stack : Sequence {
32
- public func makeIterator( ) -> AnyIterator < T > {
33
- var curr = self
34
- return AnyIterator { _ -> T ? in
35
- return curr. pop ( )
36
- }
37
- }
32
+ public func makeIterator( ) -> AnyIterator < T > {
33
+ var curr = self
34
+ return AnyIterator { curr. pop ( ) }
35
+ }
38
36
}
You can’t perform that action at this time.
0 commit comments