C#에서 객체의 선입선출(FIFO) 컬렉션을 나타내려면 Queue 클래스를 사용합니다. 목록에 항목을 추가하면 enqueue라고 하고 항목을 제거하면 deque라고 합니다.
Queue 클래스의 일부 메서드는 다음과 같습니다.
Sr.No | 방법 및 설명 |
---|---|
1 | 공개 가상 무효 Clear(); 큐에서 모든 요소를 제거합니다. |
2 | 공개 가상 bool 포함(객체 obj); 요소가 대기열에 있는지 여부를 결정합니다. |
3 | 공개 가상 객체 Dequeue(); Queue의 시작 부분에 있는 개체를 제거하고 반환합니다. |
4 | 공개 가상 무효 대기열(객체 obj); 큐 끝에 개체를 추가합니다. |
5 | 공개 가상 객체[] ToArray(); 큐를 새 배열에 복사합니다. |
queue 클래스 아래에 있는 C#에서 enqueue 및 deque를 사용하는 방법을 살펴보겠습니다.
예
using System; using System.Collections; namespace Demo { class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('B'); q.Enqueue('C'); q.Enqueue('D'); Console.WriteLine("Current queue: "); foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); q.Enqueue('E'); q.Enqueue('F'); q.Enqueue('G'); q.Enqueue('H'); Console.WriteLine("Current queue: "); foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); Console.WriteLine("Removing some values "); char ch = (char)q.Dequeue(); Console.WriteLine("Value removed: {0}", ch); ch = (char)q.Dequeue(); Console.WriteLine("Value removed: {0}", ch); Console.ReadKey(); } } }
출력
Current queue: A B C D Current queue: A B C D E F G H Removing some values Value removed: A Value removed: B
위에서 enqueue를 사용하여 요소가 추가되었습니다.
Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('B'); q.Enqueue('C'); q.Enqueue('D');
요소는 dequeue를 사용하여 삭제됩니다.
char ch = (char)q.Dequeue(); Console.WriteLine("Value removed: {0}", ch);