C++ 자료구조
[c++] 스택 (Stack)
개발자 아윤
2024. 4. 15. 16:37
[스택 (Stack)]
- 한쪽 끝에서만 데이터를 삽입(push)하거나 삭제(pop)할 수 있는 구조
- 후입 선출 (LIFO : Last In First Out) 구조

[스택의 구조]

[삽입(push) 삭제(pop)]
- Top 포인터 : 가장 나중에 삽입되는 데이터 가리킴 (= 삭제할 지점을 가리킴)
삽입 : * 삽입하고 top 포인터를 1 증가 시켜야 함.
삭제 : * 삽입하고 top 포인터를 1 감소 시켜야 함.


[스택에서 발생하는 오류]
- 오버플로 (overflow)

- 언더플로 (underflow)

[재귀함수와 콜스택]

위에서 Hello는 총 7번 호출된다. 스택에 쌓이고 지워지고를 반복하기 때문이다. 한 번씩 그림판에 작동 원리를 그려보기 바란다.