큐(Queue) - Queue 활용 사례, Enqueue(), Dequeue(), 자료구조 비교, 도식도

CODEDRAGON Development/C#, Xamarin

반응형

   

   

큐(Queue)

  • 대기열
  • Queue의 구조는 도로에 뚫려져 일정구간의 일방통행인 터털형태와 동일한 원리입니다.
  • 요소(Element)가 들어가는 입구와 요소(Element)가 나오는 출구가 따로 준비 되어 있어 가장 먼저 들어간 요소(Element)가 가장 먼저 나오는 선입선출, first-in-first-out(FIFO)방식의 자료구조입니다.

   

Queue 활용 사례

  • OS CPU의 연산 처리시 작업 대기
  • 프린터가 출력하는 문서 대기시
  • 동영상 스트리밍 서비스에서 컨텐츠 버퍼링시

   

   

Enqueue()

대기행렬에 데이터를 입력하는 메소드

데이터 입력은 한쪽에서만 이루어집니다.

Queue queue = new Queue();

queue.Enqueue('A');

queue.Enqueue('B');

queue.Enqueue('C');

queue.Enqueue('D');

queue.Enqueue('E');

   

   

   

들어가는 순서

A -> B -> C -> D

나가는 순서

A -> B -> C -> D

   

   

Dequeue()

  • 대기행렬에서 데이터를 출력하는 메소드
  • 제일 앞에 있던 항목의 데이터가 실제로 꺼내지고 그 뒤에 있던 항목이 제일 앞으로 옮겨지게 됩니다.

   

queue.Dequeue()

   

   

자료구조 비교

구분

배열(array)

스택(stack)

큐(queue)

접근방식

임의 접근

임의 접근

순차 접근

구조

LIFO

LIFO

FIFO