반응형



[ 이 게시물은 개념 설명 게시물이고 소스코드는 다음 게시물에 있습니다. ]



스택은 후입선출방식이며, 가장 나중에 들어간 것이 가장 먼저 나오는 것이다.


아래의 그림을 참고해보자면,





1부터 5까지의 값이 배열에 들어가게 될때(이때 배열은 원통이라고 생각하면 된다.)


코드상의 topIndex값이 +1씩 된다.


(아무것도 배열에 없는 상태에서는 topIndex는 -1을 가리킨다. 


그 이유는 배열은 0부터 시작하게 되니 -1부터 초기화를 잡아주고 값이 들어오면 +1을 하여 0부터 시작하게 한다.)





결과적으로 배열속에는 1,2,3,4,5의 값이 저장되게 된다.


그리고 스택의 pop함수를 이용하여 빼내면 1이 먼저 나오는것이 아닌 5가 먼저 나오게된다.


이것이 후입선출이라는 의미이다.


배열 기반 스택은 포인터, 구조체의 활용이 많이 덜하므로 스택의 기본에 대하여 생각해 볼 때는 보기도 쉽고 이해하기도 편할 것이다. 

반응형