Queue.Enqueue(Object) 메서드

정의

의 끝에 개체를 추가합니다 Queue.

public:
 virtual void Enqueue(System::Object ^ obj);
public virtual void Enqueue(object obj);
abstract member Enqueue : obj -> unit
override this.Enqueue : obj -> unit
Public Overridable Sub Enqueue (obj As Object)

매개 변수

obj
Object

에 추가할 개체입니다 Queue. 값은 .일 null수 있습니다.

예제

다음 예제에서는 요소를 추가하거나 Queue, 요소에서 Queue요소를 제거하거나, 시작 Queue부분에 있는 요소를 보는 방법을 보여줍니다.

using System;
using System.Collections;
public class SamplesQueue  {

   public static void Main()  {

      // Creates and initializes a new Queue.
      Queue myQ = new Queue();
      myQ.Enqueue( "The" );
      myQ.Enqueue( "quick" );
      myQ.Enqueue( "brown" );
      myQ.Enqueue( "fox" );

      // Displays the Queue.
      Console.Write( "Queue values:" );
      PrintValues( myQ );

      // Removes an element from the Queue.
      Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );

      // Displays the Queue.
      Console.Write( "Queue values:" );
      PrintValues( myQ );

      // Removes another element from the Queue.
      Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );

      // Displays the Queue.
      Console.Write( "Queue values:" );
      PrintValues( myQ );

      // Views the first element in the Queue but does not remove it.
      Console.WriteLine( "(Peek)   \t{0}", myQ.Peek() );

      // Displays the Queue.
      Console.Write( "Queue values:" );
      PrintValues( myQ );
   }

   public static void PrintValues( IEnumerable myCollection )  {
      foreach ( Object obj in myCollection )
         Console.Write( "    {0}", obj );
      Console.WriteLine();
   }
}
/*
This code produces the following output.

Queue values:    The    quick    brown    fox
(Dequeue)       The
Queue values:    quick    brown    fox
(Dequeue)       quick
Queue values:    brown    fox
(Peek)          brown
Queue values:    brown    fox

*/
Imports System.Collections

Public Class SamplesQueue
    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new Queue.
        Dim myQ As New Queue()
        myQ.Enqueue("The")
        myQ.Enqueue("quick")
        myQ.Enqueue("brown")
        myQ.Enqueue("fox")
        
        ' Displays the Queue.
        Console.Write("Queue values:")
        PrintValues(myQ)
        
        ' Removes an element from the Queue.
        Console.WriteLine("(Dequeue)    {0}", myQ.Dequeue())
        
        ' Displays the Queue.
        Console.Write("Queue values:")
        PrintValues(myQ)
        
        ' Removes another element from the Queue.
        Console.WriteLine("(Dequeue)    {0}", myQ.Dequeue())
        
        ' Displays the Queue.
        Console.Write("Queue values:")
        PrintValues(myQ)
        
        ' Views the first element in the Queue but does not remove it.
        Console.WriteLine("(Peek)       {0}", myQ.Peek())
        
        ' Displays the Queue.
        Console.Write("Queue values:")
        PrintValues(myQ)
    End Sub

    Public Shared Sub PrintValues(myCollection As IEnumerable)
        Dim obj As [Object]
        For Each obj In  myCollection
            Console.Write("    {0}", obj)
        Next obj
        Console.WriteLine()
    End Sub

End Class


' This code produces the following output.
' 
' Queue values:    The    quick    brown    fox
' (Dequeue)    The
' Queue values:    quick    brown    fox
' (Dequeue)    quick
' Queue values:    brown    fox
' (Peek)       brown
' Queue values:    brown    fox

설명

용량 Queue 은 보유할 수 있는 Queue 요소의 수입니다. 요소가 추가 Queue되면 재할당을 통해 필요에 따라 용량이 자동으로 증가합니다. 를 호출 TrimToSize하여 용량을 줄일 수 있습니다.

증가율은 더 큰 용량이 필요할 때 현재 용량을 곱한 수입니다. 증가율은 생성될 Queue 때 결정됩니다. Queue 증가율에 관계없이 용량은 항상 최소값으로 증가합니다. 1.0의 증가율로 인해 크기가 Queue 증가하지는 않습니다.

내부 배열의 용량보다 작은 경우 Count 이 메서드는 작업입니다 O(1) . 새 요소를 수용하기 위해 내부 배열을 다시 할당해야 하는 경우 이 메서드는 O(n) 작업이 nCount됩니다.

적용 대상

추가 정보