Stack
Table of contents
스택
정의
- 제한적으로 접근할 수 있는 나열 구조의 자료구조
특징
- 접근은 목록의 끝에서만 가능하다.
- 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조으로 되어 있다.
- 가장 최근에 삽입한 자료부터 나오는 LIFO(Last In First Out) 구조이다.
기본 연산 종류
-
peek(): 스택의 가장 윗 데이터를 반환(스택이 비었다면 연산 정의불가)
-
pop(): 스택의 가장 윗 데이터를 삭제(스택이 비었다면 연산 정의불가)
-
push(): 스택의 가장 윗 데이터(top)에 메모리를 생성 후 데이터 삽입
-
empty(): 스택이 비었는지 여부 확인(비었으면 1, 안 비었으면 0)
연결 리스트 기반 스택
장점
- 데이터의 삽입, 삭제가 용이하다.
단점
- 한 번에 원하는 데이터의 접근이 불가능하다.
배열 기반 스택
장점
- 메모리를 아낄 수 있고 구조가 간단하다.
단점
- 크기가 제한되어있다.