💡 스택의 두 가지 기본 연산
- 삽입 연산 : 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에 데이터가 있다는 것을 의미하기 때문이다.