자료구조 - 스택(Stack)
update : 2016-03-04
스택(Stack)
자료구조의 단순 연결리스트로 구현하는 스택을 만들어 본다.
1. 개념
- 스택(Stack)이란 쌓아 올린다는 의미이다.
- 시간순서에 따라 자료가 쌓이고, 삭제할 때는 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 후입선출(LIFO, Lirst In First Out)의 구조를 갖는다.
스택의 용어
- top : 가장 최근에 입력된 데이터. 삽입, 삭제, 읽기 기능을 수행
- push : top에 새로운 데이터를 삽입하는 연산
- pop : top에 있는 데이터를 제거하는 연산
- peek : top에 있는 데이터를 읽는 연산
스택에서 연산이 수행되는 과정
2. 구현
- 스택은 배열, 연결 리스트로 구현할 수 있다.
- 스택은 삽입/삭제 연산이 빈번하므로 연결 리스트로 구현해본다. -> LinkedStack
- 단순 연결 리스트로 스택 구현
LinkedStack.java
LinkedStack_Test.java
참고문헌
guguru님, hyeonstorage님, 책 - ‘자바로 배우는 쉬운 자료구조’