예제가 포함된 C# 큐: C# 큐란 무엇이며 어떻게 사용하나요?

C#의 대기열이란 무엇입니까?

대기열은 선입선출 개념을 나타내는 특수한 사례 모음입니다. 버스를 기다리는 사람들의 줄을 상상해 보세요. 일반적으로 대기열에 가장 먼저 입장하는 사람이 버스에 가장 먼저 입장하게 됩니다. 마찬가지로, 대기열에 마지막으로 입장하는 사람이 버스에 입장하는 마지막 사람이 됩니다. 요소는 서로의 상단에 하나씩 대기열에 추가됩니다.

큐에 요소를 추가하는 프로세스는 enqueuer 연산입니다. 큐에서 요소를 제거하려면 dequeuer 연산을 사용할 수 있습니다. Queues C#의 연산은 이전에 본 스택과 비슷합니다.

C#에서 Queue를 사용하는 방법과 C#에서 Queue 컬렉션에서 사용 가능한 작업을 자세히 살펴보겠습니다.

대기열 선언

대기열 선언은 아래에 제공됩니다. 대기열은 대기열 데이터 유형을 사용하여 생성됩니다. "new" 키워드는 큐의 객체를 생성하는 데 사용됩니다. 그런 다음 개체는 변수 qt에 할당됩니다.

Queue qt = new Queue()

대기열에 요소 추가

enqueue 메소드는 큐에 요소를 추가하는 데 사용됩니다. 문의 일반적인 구문은 다음과 같습니다.

Queue.enqueue(element)

대기열에서 요소 제거

dequeue 메서드는 큐에서 요소를 제거하는 데 사용됩니다. dequeue 작업은 큐의 첫 번째 요소를 반환합니다. 명령문의 일반 구문은 아래와 같습니다.

Queue.dequeue()

카운트

이 속성은 대기열에 있는 항목 수를 가져오는 데 사용됩니다. 다음은 이 명령문의 일반적인 구문입니다.

Queue.Count

포함

이 메서드는 대기열에 요소가 있는지 확인하는 데 사용됩니다. 다음은 이 명령문의 일반적인 구문입니다. 이 문은 요소가 존재하면 true를 반환하고, 그렇지 않으면 false 값을 반환합니다.

Queue.Contains(element)

이제 이것이 코드 수준에서 작동하는 것을 살펴보겠습니다. 아래에 언급된 모든 코드는 콘솔 애플리케이션에 작성됩니다.

코드는 Program.cs 파일에 기록됩니다. 아래 프로그램에서는 위에서 언급한 방법을 어떻게 사용할 수 있는지 알아보기 위해 코드를 작성해 보겠습니다.

예시

이 C# 큐 예제에서는 큐가 어떻게 생성되는지 살펴보겠습니다. 다음으로 큐의 요소를 표시하는 방법과 Count 및 Contain 메서드를 사용하는 방법을 살펴보겠습니다.

C#의 큐
C# 대기열 예
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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();
    Console.WriteLine("The number of elements in the Queue " + qt.Count);
    Console.WriteLine("Does the Queue contain " + qt.Contains(3));
    Console.ReadKey();
   }
 }
}

코드 설명

  1. 첫 번째 단계는 대기열을 선언하는 데 사용됩니다. 여기서는 큐의 요소를 보유하는 변수로 qt를 선언합니다.
  2. 다음으로 대기열에 3개의 요소를 추가합니다. 각 요소는 "enqueue" 메소드를 통해 추가됩니다.
  3. 이제 대기열에 대해 주목해야 할 한 가지는 요소가 다음과 같은 인덱스 위치를 통해 액세스될 수 없다는 것입니다. 배열 목록. 대기열의 요소를 표시하려면 다른 접근 방식을 사용해야 합니다. 대기열의 요소를 표시하는 방법은 다음과 같습니다.
    • 먼저 obj라는 임시 변수를 선언합니다. 이는 대기열의 각 요소를 보유하는 데 사용됩니다.
    • 그런 다음 foreach 문을 사용하여 대기열의 각 요소를 살펴봅니다.
    • 각 Queue 요소에 대해 값은 obj 변수에 할당됩니다.
    • 그런 다음 Console.Writeline 명령을 사용하여 콘솔에 값을 표시합니다.
  4. 대기열에 있는 항목 수를 가져오기 위해 "Count" 속성을 사용하고 있습니다. 이 속성은 숫자를 반환합니다. 그런 다음 이 값을 콘솔에 표시합니다.
  5. 그런 다음 "Contains" 메서드를 사용하여 Queue에 값 3이 있는지 확인합니다. 그러면 true 또는 false 값이 반환됩니다. 그런 다음 이 반환 값을 콘솔에 표시합니다.

위 코드를 올바르게 입력하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.

산출

C#의 큐
C# 대기열 예

출력에서 우리는 Queue의 요소가 표시된다는 것을 분명히 볼 수 있습니다. "스택” in “queue”에서 큐에 푸시된 첫 번째 요소가 먼저 표시됩니다. 큐 요소의 개수도 출력에 표시됩니다. 또한 True 값이 표시되어 큐에 3의 값이 정의되어 있음을 나타냅니다.

C# 대기열 제거

이제 제거 기능을 살펴보겠습니다. 대기열에서 마지막 요소를 제거하는 데 필요한 코드를 살펴보겠습니다.

C# 대기열 제거
C# 대기열 대기열 제거 예
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Queue qt = new Queue();
   qt.Enqueue(1);
   qt.Enqueue(2);
   qt.Enqueue(3);

   qt.Dequeue();

   foreach (Object obj in qt)
   {
    Console.WriteLine(obj);
   }
    Console.ReadKey();
   }
 }
}

코드 설명

  1. 여기서는 대기열에서 요소를 제거하는 데 사용되는 "dequeue" 메서드를 실행합니다. 이 메서드는 대기열의 첫 번째 요소를 제거합니다.

위 코드를 올바르게 입력하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.

출력:

C# 대기열 제거
C# 대기열 대기열 제거 예

출력에서 큐에 추가된 첫 번째 요소인 요소 1이 큐에서 제거되었음을 알 수 있습니다.

요약

큐는 선입선출 개념을 기반으로 합니다. 큐에 요소를 추가하는 작업을 인큐 작업이라고 합니다. 큐에서 요소를 제거하는 작업을 데큐 작업이라고 합니다.