스택

조예빈·2024년 6월 29일

Algorithm

목록 보기
2/10

Stack(스택)

  • 어원 : 쌓는다
  • 먼저 입력한 데이터를 제일 나중에 꺼낼 수 있는 자료구조
  • 선입후출. FILO(First in last out)
  • 자바의 Stack 클래스는 크기를 동적으로 관리하므로 max_size()나 isFull() 메소드가 없음

스택의 ADT(추상 자료형)

구분정의설명
연산boolean isFull()스택에 들어 있는 데이터의 개수가 maxsize인지를 확인해 boolean 값을 반환. 가득 차 있으면 true, 아니면 flase
boolean isEmpty()스택에 들어 있는 데이터가 하나도 없는지 확인해 boolean 값을 반환. 데이터가 하나라도 있으면 false, 아니면 true
void push(ItemType item)스택에 데이터를 푸시
ItemType pop()스택에서 가장 최근에 푸시한 데이터를 팝 하고 반환
ItemType peek()스택에서 가장 최근에 push한 데이터를 꺼내지 않으면서 반환만 함
상태Int top스택에서 가장 최근에 푸시한 데이터의 위치를 기록
ItemType data[maxsize]스택의 데이터를 관리하는 배열. 최대 maxsize개의 데이터를 관리

배열과 스택

  • 배열 : 데이터를 그냥 저장하고 순서와 상관 없이 임의 접근이 가능할 때 사용
  • 스택 : 최근에 삽입한 데이터를 대상으로 무엇인가 연산을 해야 하는 경우 사용
profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글