Очередь Queue

Последнее обновление: 30.10.2015

Класс Queue(Of T) представляет набор однотипных объектов, который работает по алгоритму FIFO ("первый вошел - первый вышел"), то есть как стандартная очередь.

Рассмотрим некоторые основные методы класса Queue(Of T):

  • Dequeue: извлекает и возвращает первый элемент очереди

  • Enqueue: добавляет элемент в конец очереди

  • Peek: просто возвращает первый элемент из начала очереди без его удаления

Теперь рассмотрим применение класса очереди в программе:

Module Module1

    Sub Main()

        Dim nums As New Queue(Of Integer)()

        nums.Enqueue(3) 'в очереди 3
        nums.Enqueue(5) 'в очереди 3, 5
        nums.Enqueue(8) 'в очереди 3, 5, 8

        'получение первого элемента очереди с его извлечением
        Dim queueElement As Integer = nums.Dequeue() 'теперь в очереди 5, 8
        Console.WriteLine(queueElement)

        Dim people As New Queue(Of Person)()
        people.Enqueue(New Person() With {.Name = "Tom"})
        people.Enqueue(New Person() With {.Name = "Bill"})
        people.Enqueue(New Person() With {.Name = "John"})

        'получение первого элемента без его извлечения
        Dim pp As Person = people.Peek()
        Console.WriteLine(pp.Name)

        Console.WriteLine("Сейчас в очереди {0} человек", people.Count)

        'теперь в очереди Tom, Bill, John
        For Each p As Person In people
            Console.WriteLine(p.Name)
        Next

        'Извлекаем первый элемент в очереди - Tom
        Dim tom As Person = people.Dequeue() 'теперь в очереди Bill, John
        Console.WriteLine(tom.Name)

       Console.ReadLine()
    End Sub

    Class Person
        Public Property Name() As String
    End Class

End Module
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850