본문 바로가기
Data Structure

스택(Stack)

by 기리의 개발로그 2015. 7. 8.

스택

같은 구조와 크기의 자료를 top이라고 정한 한 곳에만 쌓을 수 있고 top으로만 접근하도록 만든 자료구조

배열과 리스트로 구현이 가능하다.

시간순서에 따라 자료가 쌓이고 삭제 시에는 가장 마지막에 삽입한 자료가 가장 먼저 삭제되는

후입선출(LIFO : Last In First Out)의 구조를 갖는다.


연산

Push : 스택안에 데이터를 집어 넣는 작업
Pop : 스택안의 데이터를 꺼내는 작업
Peek : top이 가리키는 데이터를 읽는 작업


구조

1. 스택 - 배열 형태

2. 스택 - 리스트 형태

장점 : 메모리의 낭비를 막을 수 있고 Stack Full의 한계를 벗어날 수 있다.
데이터의 추가와 삭제가 헤더부분에서 일어나기 때문에 위치를 찾기 위한 추가 연산이 필요하지 않다.


구현

실행코드 / 결과 - 배열 형태

실행코드 / 결과 - 리스트 형태

반응형

'Data Structure' 카테고리의 다른 글

트리(Tree)  (0) 2015.07.29
이중 연결 리스트(Doubly Linked List)  (0) 2015.07.26
단순 연결 리스트(Simple Linked List)  (0) 2015.07.26
큐(Queue)  (0) 2015.07.08
ArrayList vs LinkedList  (0) 2015.06.30

댓글