💻 CS/자료구조
[Swift] 스택 구현해보기
JerryiOS
2023. 3. 29. 11:50
Stack
LIFO : 마지막으로 들어온 놈이 첫번째로 나가는 자료구조
struct Stack<T> {
private var stack: [T] = []
public var count: Int {
return stack.count
}
public var isEmpty: Bool {
return stack.isEmpty
}
public mutating func push(_ element: T) {
stack.append(element)
}
public mutating func pop() -> T? {
return isEmpty ? nil : stack.popLast()
}
}
사용
var myStack = Stack<Int>()
myStack.push(10)
myStack.pop()
시간복잡도는 O(1)이다.
그런데 Swift에서는 배열의 append(), popLast()를 통해 배열을 Stack처럼 사용할 수 있다.
반응형