본문 바로가기
자료구조

스택(stack)이란?

by 태풍사랑 2020. 4. 21.

스택의 개념

  • 한쪽 끝에서만 자료를 넣고 뺄 수 있는 형태
  • 즉, 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

댓글