기본 콘텐츠로 건너뛰기

0.18 자료구조 +

자료구조


1. stack
2. queue
3. deque
4. autoBoxing / autoUnboxing



1. stack

1) pointer가 1개
2) 처음 입력한 자료가 맨 마지막에 출력 = LIFO
3) 한 쪽에서만 입출력이 발생
4) 사용
 - 함수 호출, 부 프로그램 호출시 복귀를 저장할 때
 - 인터럽트 분기 시 복귀 주소 저장시
 - 되부름 시 복귀 주소 저장시
 - 수식 연산
5) method
 - peek(): stack에 쌓인 가장 맨 위의 객체를 가져옴 + 객체를 stack에서 제거하지 않음
 - pop(): stack에 쌓인 가장 맨 위 객체를 가져옴 + 객체를 stack에서 제거함
 - push(): 주어진 stack에 객체를 넣음


2. queue

1) 삽입(rear, tail)과 삭제(front, head) pointer가 2개
2) 한 쪽 방향에서는 입력, 한 쪽 방향에서는 출력만
3) 먼저 입력된 자료가 먼저 출력 = FIFO
4) 사용
 - 스풀 운용 처리
 - 스케줄링
5) method
 - offer(): 객체 넣기
 - peek(): 객체 하나 가져옴 + 객체를 큐에서 제거하지 않음
 - poll(): 객체 하나 가져옴 + 객체를 큐에서 제거

3. deque

1) double end queue
2) pointer가 2개(left, right)
3) 가장 일반적인 구조
4) 양쪽 끝에서 입출력이 발생

※ array, list도 선형 자료구조
※ graph, tree는 비 선형 자료구조

4. autoBoxing / autoUnboxing

1) autoBoxing
2) autoUnboxing