후입선출(LIFO, Last In First Out, 나중에 들어온 것이 먼저 나감) 자료구조.
항목이 스택의 맨 위에서 추출되기 때문에, 다음에 제거되는 항목은 항상 최근에 추가된 것이다.
예시
배열로 스택을 구현할 때는 배열을 사용해 스택에 저장될 값을 유지하고 스택의 맨 위(top)에 해당하는 인덱스를 추적하는 변수를 추가로 사용한다.
Stack {
Integer: array_size
Integer: top
Array of values: array
}
Push(Stack:s, Type: value):
IF s.top == s.array_size - 1:
배열 크기를 증가시킨다
s.top = s.top + 1
s.array[s.top] = value
Pop(Stack: s):
Type: value = null
IF s.top > -1:
value = s.array[s.top]
s.top = s.top - 1
return value