스택의 개념
- 한쪽 끝에서만 자료를 넣고 뺄 수 있는 형태
- 즉, LIFO(Last In First Out) 형식의 자료 구조 => 가장 최근에 스택에 추가(Last In)한 항목이 가장 먼저 제거(First Out)될 항목!
- 삭제의 위치와 방법이 제한되어 있는 유한 순서 리스트
- top = 가장 최근에 입력된 데이터, top에서만 삽입, 삭제, 읽기 동작이 발생, top은 데이터의 수에 따라 유동적으로 변함
- bottom = 가장 먼저 입력되어 바닥에 깔린 데이터, 다중 스택과 같은 특별한 구조가 아니라면 이 값은 0으로 고정
스택의 연산
- pop() : 스택에서 맨 윗부분의 원소 삭제
- push(item) : 스택의 맨 윗부분에 원소 추가
- peek() : 스택의 맨 윗부분의 원소 반환
- isEmpty() : 스택이 비어있다면 true 반환
- search(Object o) : 스택에서 전달된 객체가 존재하는 위치의 인덱스 반환, 인덱스는 제일 상단에 있는 요소의 위치부터 0이 아닌 1부터 시작
'자료구조' 카테고리의 다른 글
링크드 리스트 (0) | 2022.03.04 |
---|---|
Dynamic Programming(동적 계획법)이란? (0) | 2020.04.28 |
큐(Queue)란? (0) | 2020.04.21 |
댓글