자료구조 시리즈 5편

2025. 4. 21. 10:32개발이야기

728x90
반응형

큐(Queue) 완전 이해하기

이전 글에서는 스택(Stack)에 대해 알아봤습니다.
이번에는 선입선출(FIFO) 구조를 가지는 큐(Queue) 에 대해 자세히 정리해봅니다.


1. 큐란?

큐는 먼저 넣은 데이터가 먼저 나오는 자료구조입니다. (FIFO: First-In, First-Out)

  • 가장 먼저 추가된 데이터가 가장 먼저 제거됨
  • 주로 작업 대기열, 프린터 작업 처리 등에 사용

2. 큐의 특징

항목 설명

삽입(Enqueue) 뒤쪽(Rear)으로 추가
삭제(Dequeue) 앞쪽(Front)에서 제거
조회(Peek) 가장 앞 요소만 확인 (제거는 안 함)
크기 제한 있을 수도 있고 없을 수도 있음

3. 큐 사용 예시 (C# 기준)

 Queue 선언과 초기화

using System.Collections.Generic;

// 빈 큐 생성
Queue<string> queue = new Queue<string>();

 요소 추가 (Enqueue)

queue.Enqueue("첫 번째");
queue.Enqueue("두 번째");
queue.Enqueue("세 번째");

 요소 제거 (Dequeue)

string first = queue.Dequeue();
Console.WriteLine(first); // "첫 번째" 출력

 가장 앞 요소 확인 (Peek)

string currentFirst = queue.Peek();
Console.WriteLine(currentFirst); // "두 번째" 출력 (삭제되지 않음)

 큐 순회

foreach (var item in queue)
{
    Console.WriteLine(item);
}

4. 실생활 예시로 이해하기

  • 큐 = 은행 대기 줄
    • 먼저 온 고객부터 차례로 서비스 받음
  • 큐 = 프린터 출력 대기열
    • 먼저 제출한 문서부터 순서대로 출력

5. 큐의 활용 사례

사용 예시 설명

작업 대기열 여러 작업을 순서대로 처리
너비 우선 탐색(BFS) 그래프 탐색 시 사용
CPU 작업 스케줄링 프로세스를 공평하게 처리

이번 글에서는 큐(Queue) 의 개념, 특징, C# 코드 사용법을 정리했습니다.

  • 먼저 넣은 데이터가 먼저 나오는 구조 (FIFO)
  • 대기열 관리, 순서 처리에 매우 많이 사용

 

728x90
반응형

'개발이야기' 카테고리의 다른 글

자료구조 시리즈 7편  (2) 2025.04.22
자료구조 시리즈 6편  (2) 2025.04.21
자료구조 시리즈 4편  (0) 2025.04.21
자료구조 시리즈 3편  (0) 2025.04.21
자료구조 시리즈 2편  (0) 2025.04.20