개린이가 쓴 글이므로 오류가 있을 수 있음을 미리 알려드립니다 🐹 (꾸벅)
한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 구조
코드
struct Stack<T> {
var isEmpty: Bool {
return self.list.isEmpty
}
var top: T? {
return self.list.last
}
mutating func push(_ item: T) {
self.list.append(item)
}
mutating func pop() -> T? {
return self.list.popLast()
}
private var list = [T]()
}
시간복잡도
push
pop