Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 선택정렬
- 자료구조
- 병합정렬
- endpoint
- swift
- ReactiveX
- coordinator
- IOS
- mvvm
- RX
- RxCocoa
- 동작과정
- swift알고리즘
- ai expo
- RxSwift요약
- LLM
- Content Compression Resistance priority
- 알고리즘
- Union-Find
- Autolayout
- Content Hugging priority
- OperationQueue
- rxswift
- 버블정렬
- 오토레이아웃
- GCD
- 삽입정렬
- 백준
- 동시성프로그래밍
- uikit
Archives
- Today
- Total
JosephCha의 개발일지
스택 본문
반응형
정의
- 스택은 LIFO(Last In, Fisrt Out) 또는 FILO(First In, Last Out) 데이터 관리 방식을 따름
- 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()
}
}
코드 참고: https://babbab2.tistory.com/84?category=908011
'알고리즘 및 자료구조' 카테고리의 다른 글
백준/2920번/음계 문제 (0) | 2022.07.26 |
---|---|
큐 (0) | 2022.04.20 |
이진탐색 (0) | 2022.04.20 |
병합정렬 (0) | 2022.04.20 |
동적 계획법(DP) (0) | 2022.02.24 |
Comments