본문 바로가기

C++ 자료구조

[c++] 스택 (Stack)

[스택 (Stack)]

  • 한쪽 끝에서만 데이터를 삽입(push)하거나 삭제(pop)할 수 있는 구조
  • 후입 선출 (LIFO : Last In First Out) 구조

 

 

[스택의 구조]

 

 

[삽입(push) 삭제(pop)]

  • Top 포인터 : 가장 나중에 삽입되는 데이터 가리킴 (= 삭제할 지점을 가리킴)

삽입 : * 삽입하고 top 포인터를 1 증가 시켜야 함.

삭제 : * 삽입하고 top 포인터를 1 감소 시켜야 함.

 

 

 

[스택에서 발생하는 오류]

  • 오버플로 (overflow)

  • 언더플로 (underflow)

 

[재귀함수와 콜스택]

 

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

'C++ 자료구조' 카테고리의 다른 글

[C++ | 연결 리스트] 스택, 큐, 리스트  (0) 2024.04.29
[c++] 큐 (Queue)  (0) 2024.04.22
시간복잡도 기초  (0) 2024.04.15
[c++] 연산자 중복 (오버로딩)  (0) 2024.04.02
[c++] 클래스 (Class)  (0) 2024.04.01