🔎 스택
스택은 가장 마지막으로 들어간 데이터가 가장 첫 번째로 나오는 성질
(LIFO, Last In First Out)을 가진 선형 자료 구조이다.
Swift 또한 Queue처럼 배열을 이용해서 구현하면 쉽게 할 수 있다.
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()
}
}
큐와 달리 마지막에 추가되고 삭제되기 때문에 O(1)이 걸린다.
'자료구조' 카테고리의 다른 글
[자료구조] Queue 큐 with Swift (0) | 2023.04.11 |
---|