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처럼 사용할 수 있다.
반응형
'💻 CS > 자료구조' 카테고리의 다른 글
[Swift] 힙(Heap) 구현해보기 (0) | 2023.04.11 |
---|---|
[Swift] 그래프(Graph) (0) | 2023.03.29 |
[Swift] 덱 구현해보기 (0) | 2023.03.29 |
[Swift] 큐(Queue) 구현하기 (0) | 2023.03.24 |
메모리 구조 (0) | 2023.03.23 |