본문 바로가기
Programming/자료구조 & STL

<자료구조> 스택, Stack의 개념

by 황금표정 2012. 6. 10.

원본출처 : http://blog.nextcube.pe.kr/187

 

1. 개요
스택은 재일 나중에 삽입된 데이터가 재일 먼저 출력된다는 Last In, First Out ; LIFO;후입선출의 파일구조.


2. 설명

1. 그림과 같이 파란색 사각형 틀에 1 과 2 그리고 3이라는 상자를 넣는다고 생각합니다.




2. 맨위의 상자인 1번상자를 파란색 틀에 넣습니다.
틀은 아무것도 없으므로 1번상자가 가장 밑에 깔리게 됩니다.





3. 두번째 상자인 2번상자를 파란색 틀에 넣습니다.
방금넣었던 1번상자위에 2번상자가 쌓입니다.




4. 마지막 상자인 3번상자를 파란색 틀에 넣습니다.
2번상자위에 3번상자가 쌓입니다.




5. 반대로 파란색 틀에서 상자를 꺼내봅시다.



6. 파란색틀에 가장 나중에 들어가 맨위에 위치한 3번상자가 맨처음 나오게 됩니다.




7. 그리고 두번째로 들어간 2번상자가 두번쨰로 나옵니다.




8. 가장 처음에 들어간 1번상자가 마지막으로 나오게 됩니다.



3. 알고리즘

TOP : 스택의 맨위를 가리키는 포인터
BOTTOM : 스택의 맨 아래를 가리키는 포인터





POP();
스택에서 맨위의 자료를 출력하는 것




PUSH();
스택에 자료를 넣는것




4. Stack Underflow 와 Stack Overflow

Stack Underflow
아무것도 없는 스택에서 POP();로 데이터를 꺼내려는 경우


Stack Overflow
이미 꽉찬 스택에 PUSH();로 데이터를 넣으려는 경우

반응형

'Programming > 자료구조 & STL' 카테고리의 다른 글

<자료구조> 큐, Queue의 개념  (0) 2012.06.10
STL - 컨테이너  (3) 2012.01.31