C# Queue 마스터하기: Enqueue, Dequeue, 선입선출(FIFO) 연산 완전 정복
C#에서 Queue란?
Queue는 버스 대기줄처럼 선입선출(FIFO, First-In-First-Out) 원칙을 구현합니다. 가장 먼저 추가된 요소가 가장 먼저 처리되거나 제거됩니다.
C#에서 큐는 System.Collections 네임스페이스에 정의되며, 실제 큐의 동작을 반영하는 Enqueue, Dequeue 메서드를 제공합니다.
Queue 선언
Queue 타입과 new 키워드로 큐를 인스턴스화합니다:
Queue qt = new Queue();
요소 추가 (Enqueue)
Enqueue로 항목을 큐 뒤쪽에 추가합니다:
qt.Enqueue(1);
요소 제거 (Dequeue)
Dequeue 메서드는 큐 앞쪽의 항목을 제거하고 반환합니다:
var first = qt.Dequeue();
유용한 속성과 메서드
실전 예제
다음 콘솔 애플리케이션은 큐 생성, 반복, Count와 Contains 사용을 시연합니다:
using System;
using System.Collections;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
Queue qt = new Queue();
qt.Enqueue(1);
qt.Enqueue(2);
qt.Enqueue(3);
foreach (Object obj in qt) {
Console.WriteLine(obj);
}
Console.WriteLine();
Console.WriteLine("Total items: " + qt.Count);
Console.WriteLine("Contains 3? " + qt.Contains(3));
Console.ReadKey();
}
}
}
출력:
Queue C# 예제
첫 번째 요소 제거
Dequeue 호출로 가장 먼저 들어간 항목 제거. 다음 스니펫은 효과를 보여줍니다:
qt.Dequeue();
foreach (Object obj in qt) {
Console.WriteLine(obj);
}
결과:
C# Queue Dequeue 예제
요약
C# Queue는 FIFO 시맨틱을 따릅니다. Enqueue로 항목 추가, Dequeue로 앞쪽 항목 제거, Count 속성과 Contains 메서드로 큐 상태 검사.