방명록
- [선형 자료구조] 스택(Stack)2024년 08월 12일 13시 39분 47초에 업로드 된 글입니다.작성자: 이중엽
스택이란?
LIFO(Last In First Out)으로 가장 마지막으로 삽입된 요소가 가장 먼저 제거되는 구조를 가진다.
이러한 특징을 가진 스택은 Push와 Pop을 기본 연산을 가지게 된다.
Push
데이터를 스택 맨 위에 쌓는 연산
Pop
스택 맨 위에 데이터를 제거하고 반환하는 연산
사용 사례
iOS에서 실제로 UINavigationController는 Push, Pop을 통해 뷰컨트롤러들의 스택을 관리하며 화면을 나타낸다.
그 외에도 DFS를 사용할 때 깊이 탐색을 위해 Stack을 사용하여 재귀 호출을 대체할 수 있다.
구현
struct Stack<T> { private var elements: [T] = [] init() { } mutating func push(_ element: T) { elements.append(element) } mutating func pop() -> T? { return elements.popLast() } mutating func peek() -> T? { return elements.last } var isEmpty: Bool { return elements.isEmpty } var count: Int { return elements.count } }
'자료구조' 카테고리의 다른 글
[선형 자료구조] 큐(Queue) (0) 2024.08.12 [선형 자료구조] 링크드 리스트 (0) 2024.08.10 [선형 자료구조] 배열(선형 리스트) (0) 2024.08.08 다음글이 없습니다.이전글이 없습니다.댓글