스택
위키백과 ― 우리 모두의 백과사전.
스택(stack)은 기본적인 자료 구조의 하나로, 나중에 넣은 값이 먼저 나오는 구조를 가지고 있다. LIFO(Last In First Out)이라고 부르기도 한다.
스택에 새 데이터를 추가하는 것을 푸시(push), 빼내는 것을 팝(pop)이라고 한다. 가장 최근에 추가된 데이터부터 빼내게 된다. 예를 들어, a, b, c를 차례로 푸시한 다음 팝 동작을 하면 값이 c, b, a의 순서로 나오게 된다.
다수의 컴퓨터에서 포인터를 이용하여 실제 사용되고 있으며, 함수를 호출할 때 인수의 전달등에 이용된다. LIFO의 특징을 이용하여 역폴란드 표기법을 이용한 프로그래밍 언어인 포스(Forth) 등에 이용되고 있다.
DATA : A B C D
PUSH(A)
|
|
|
A |
PUSH(B)
|
|
B |
A |
PUSH(C)
|
C |
B |
A |
POP()
|
|
B |
A |
PUSH(D)
|
D |
B |
A |
POP()
|
|
B |
A |
POP()
|
|
|
A |
POP()
|
|
|
|