[자료구조] 스택이란?

minjgziii·2022년 8월 4일
0

💡 스택의 두 가지 기본 연산

  • 삽입 연산 : push
  • 삭제 연산 : pull

◼️ 이외 연산들

  • create(size) : 최대 크기가 size인 공백 스택을 생성한다.
  • is_full(s) : 스택이 포화상태에 있는지를 검사한다.
  • is_empty(s) : 스택이 공백상태에 있는지 검사한다.
  • push(s, item) : 스택의 맨 위에 item을 추가한다.
  • pop(s) : 스택의 맨 위의 원소를 제거해서 반환한다.
  • peek(s) : 스택의 맨 위의 원소를 제거하지 않고 반환한다.

💡 스택을 구현하는 방법

1. 배열을 이용하는 방법

  • 장점 : 방법 간단, 성능 우수
  • 단점 : 스택의 크기가 고정됨

2. 연결 리스트를 이용하는 방법

  • 장점 : 스택의 크기를 필요에 따라 가변적으로 가능
  • 단점 : 구현이 약간 복잡

💡 스택의 구현 (1차원 배열을 이용)

📌 top 변수는 스택이 비어 있으면 -1을 갖는다.

  • 0의 값을 가지면 안 된다.
  • top의 값이 0이면 배열의 인덱스 0에 데이터가 있다는 것을 의미하기 때문이다.
profile
티스토리로 이사갑니당

0개의 댓글