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
- LLM
- gitlabci/cd
- IOS
- CICD
- 동시성프로그래밍
- apple intelligence
- CI/CD
- RxSwift요약
- swift
- 애플인텔리전스
- 동작과정
- 자료구조
- gitlab
- Content Compression Resistance priority
- 알고리즘
- RxCocoa
- 백준
- Union-Find
- OperationQueue
- Autolayout
- 오토레이아웃
- cleanarchitecture
- ai expo
- swift알고리즘
- AI
- Content Hugging priority
- 클린아키텍처
- mvvm
- ReactiveX
- rxswift
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