Dev.Basic/자료구조

Stack(스택) & Queue(큐)

zeekke 2019. 10. 10. 02:56

List(리스트)는 동일한 자료형으로 된 원소들의 모임으로 linear list(선형 리스트)와 linked list(연결 리스트)로 나뉩니다.

Linear list의 종류로는 배열, 스택, 큐, 순환 큐 등이 있습니다.

 

Stack(스택)

stack은 linear list의 일종으로, LIFO(Last-In, First-Out) 특징을 가집니다.

즉, 나중에 들어간 원소가 먼저 나오고, 먼저 들어간 원소가 나중에 나옵니다.

선반에 접시를 차곡차곡 쌓는 것을 연상하시면 됩니다.

접시를 하나 쌓을 때 stack의 가장 위 접시에 쌓고, 접시를 하나 집을 때, stack의 가장 위 접시를 집는 상황과 일치합니다. 

 

Queue(큐)

queue는 linear list의 일종으로, FIFO(First-In, First-Out) 특징을 가집니다.

즉, 먼저 들어간 원소가 먼저 나오고, 나중에 들어간 원소가 나중에 나옵니다.

입국 심사대를 연상하시면 쉽습니다.

입국 심사 줄에서 가장 앞에 서 있는 사람이 가장 먼저 나오고, 가장 뒤에 서 있는 사람이 가장 늦게 나오는 상황과 일치합니다.