개념
한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)이다.
구현
스택(Stack)는 연결리스트(Linked List)로 구현이 가능하다.
추가와 삭제를 같은 방향에서 하는 자료구조
단점
크기를 동적으로 변경하지 않는 이상 언제 오버플로우가 일어나도 이상하지 않다.
(물론 위 경우는 push가 많은 경우이다.)
Java 라이브러리 - 스택(Stack)
- peek()
- 스택의 맨 윗 값을 얻지만 삭제하지 않는다. - pop()
- 스택의 맨 윗 값을 얻고 삭제한다. - push(e)
- 요소를 스택의 맨 위에 넣는다.
References
https://docs.oracle.com/javase/7/docs/api/java/util/Stack.html
Stack (Java Platform SE 7 )
The Stack class represents a last-in-first-out (LIFO) stack of objects. It extends class Vector with five operations that allow a vector to be treated as a stack. The usual push and pop operations are provided, as well as a method to peek at the top item o
docs.oracle.com
https://ko.wikipedia.org/wiki/스택
스택 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸시(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼
ko.wikipedia.org
댓글