본문 바로가기
PROGRAMING📚/자료구조📑

스택을 이용하여 데이터 입,출력 구현

별찌루 2019. 2. 13.
728x90
반응형


기본적으로 스택이란


자료 구조의 하나로서 자료의 삽입과 삭제가 한쪽 끝에서만 일어나는 선형 목록을 말한다.

스택의 삽입 삭제가 일어나는 곳을 Top이라 하고

스택을 꺼낼 때를  Pop이라하고, 넣을 때를 Push라고 부른다.

스택은 나중에 들어간 자료가 먼저 나오기 때문에 후입선출이라고도 한다.



<전체 코드 구현>




5 ~ 8줄까지는 기본적으로 구현하기 위해 사용된 변수를

초기화 시켜 놓은 것이다.


Pos는 스택이 가리키는 위치를 알기 위해서 만들어 놓은 것이다.



*위의 그림은 pos의 위치가 어떤 식으로 있는지 보여주기 위해서 그린 것*

Pos가 증가 할 수록 다음 배열을 가르키게 코드를 구현해야한다.

한마디로 Pos는 top과 같은 의미로 삽입과 삭제가 되는 부분을 알기위해서 만든것이다.


13 ~ 33 줄은 While문으로 종료를 하기 전 까지 반복적으로 데이터를 받고 출력하기 위해서 만들었다.

// 3이상의 숫자를 누르면 종료됨



1번은 입력을 받는 부분으로

숫자를 입력하여 변수 input에 숫자를 입력 받아주고

Pos를 증가 시킨 후에 stack배열에 입력 받은  input을 넣어주면 스택이 쌓인다.



2번은 출력하는 부분으로

스택은 후입선출이므로 나중에 들어간 값이 먼저나와야한다.

 

그러므로 Pos가 -1이면 stack안에는 아무것도 없다는 것이 되닌까

while문은 Pos의 값이  -1이 되면 종료되도록 만들어야한다. 


일단 맨위의 stack을 꺼내야 하닌까

현재의 가장 맨위의 Pos의 값을 출력해준다.

그리고 Pos의 값을 하나씩 줄여주면서 -1이 될 때까지 반복하여 출력해주면

입력 받은 값의 스택으로 출력 할 수 있다.






728x90
반응형

댓글