본문 바로가기

프로그래밍언어/Java

[Java 기본] 스택과 큐 자료구조

스택


1, 2, 3번 블럭이 있다고 가정하자.

이 블럭은 다음과 같은 통에 넣는다고 생각해보자. 블럭은 1->2->3 순서로 쌓일 것이다. 

 

반대로 넣은 블럭을 뺄때는 3 -> 2-> 1 순서로 빼야 한다. 

 

후입선출(LIFO, Last In First Out)


가장 마지막에 넣은 3번이 가장 먼저 나온다. 이렇게 나중에 넣은 것이 먼저 나오는 것을 후입 선출이라 하고, 이런 자료구조를 스택이라 한다. 이런 자료 구조를 스택이라 한다.

 

 


큐는 반대로 먼저 들어간 자료가 먼저 나온다. 

넣을 때 1->2->3 순서라면 뺄 때도 1->2->3 순서로 나온다. 

 

선입선출(Last In First Out)


반대로 가장 먼저 넣은 것이 가장 먼저 나오는 것을 선입 선출이라 한다. 이런 자료 구조를 큐(Queue)라 한다. 

 

 

프로그램 실행과 메서드 호출에는 스택 구조가 적합하다. 

 

 

 

 

* 인프런 '김영한의 실전 자바 - 기본편'을 참고하여 작성하였습니다.