자료실/공통 자료실

C# - Queue(큐)

자료수집중 2021. 5. 4.
반응형

Queue(큐)는 선입선출(FIFO : First In First Out, 먼저 들어간 자료가 가장 먼저 나가고 마지막에 들어온 자료가 가장 마지막아 나감) 형식의 자료 구조로 순서대로 자료들을 사용해야 하는 상황에서 사용합니다.

 

 

Queue(큐)는 처음 인스턴스를 생성하는 방법은 여러가지가 있습니다.

using System.Collections;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            //var queue = new Queue(); 
            Queue queue = new Queue(); 
        }
        
    }
}
using System.Collections.Generic;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
             Queue<int> queue = new Queue<int>(); //추가할 요소의 자료형 지정
            
        }
        
    }
}

 

이제 Queue(큐) 요소를 추가와 제거를 해보겠습니다.Queue(큐)의 메서드중

Enqueue(object)는 Queue(큐)의 끝 부분에 요소를 추가해줍니다.

Dequeue()는 첫 부분의 요소를 제거하고 반환합니다.

using System;
using System.Collections.Generic;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            Queue<int> numbers = new Queue<int>();

            Console.WriteLine("0~9까지 추가");
            numbers.Enqueue(0);
            numbers.Enqueue(1);
            numbers.Enqueue(2);
            numbers.Enqueue(3);
            numbers.Enqueue(4);
            numbers.Enqueue(5);
            numbers.Enqueue(6);
            numbers.Enqueue(7);
            numbers.Enqueue(8);
            numbers.Enqueue(9);

            foreach (var queue in numbers)
                Console.WriteLine(queue);

            Console.WriteLine("\n0을 제거 후 반환");
            Console.WriteLine("{0}을 제거", numbers.Dequeue()); ; 

            foreach (var queue in numbers)
                Console.WriteLine(queue);

            Console.ReadLine();

        }
        
    }
}

 

이 외에도 

Peek()  : 첫 부분 요소를 반환(제거하지 않음)

Clear() : 모두 제거등이 있습니다.

댓글