스택(Stack)
스택(Stack)은 후입선출(LIFO, Last In First Out) 방식의 자료구조이다.
가장 마지막에 저장된 데이터가 가장 먼저 꺼내지는 형태이다.
주요 연산
Push() | 스택의 맨 위에 새로운 요소 추가 |
Pop() | 스택의 맨 위에 있는 요소 반환 및 삭제 |
Peek() | 스택의 맨 위에있는 요소 반환 |
사용처
- 웹 브라우저 '뒤로가기' 기능
- 메모리 영역의 스택 영역에 사용
- 문자열 뒤집기 등
큐(Queue)
큐(Queue)는 선입선출(FIFO, First In First Out) 방식의 자료구조이다.
가장 먼저 저장된 데이터가 가장 먼저 꺼내지는 형태이다.
주요 연산
offer() | 큐의 맨 뒤에 요소 추가, 성공 시 true 반환. / 큐가 가득찬 상태라면 false 반환 |
add() | 큐의 맨 뒤에 요소 추가, 성공 시 true 반환. / 큐가 가득찬 상태라면 IllegalStateException 에러 발생 |
remove() | 큐의 맨 앞에 요소 반환 및 삭제 / 큐가 비어있다면 NoSuchElementException 에러 발생 |
pull() | 큐의 맨 앞에 요소 반환 및 삭제 / 큐가 비어있다면 Null 반환 |
element() | 큐의 맨 앞에 요소 반환 / 큐가 비어있다면 NoSuchElementException 에러 발생 |
peek() | 큐의 맨 앞에 요소 반환 / 큐가 비어있다면 Null 반환 |
clear() | 큐를 비운다. |
isEmpty() | 큐가 비어있는지 확인 |
사용처
- 프린터 출력 처리
- 선입선출이 필요한 대기열 등
'자료구조' 카테고리의 다른 글
[자료구조] 선형 구조(Linear Structure)와 비선형 구조(Non-Linear) (0) | 2025.02.21 |
---|---|
[자료구조] Array(배열)와 LinkedList (0) | 2025.02.21 |