Метод Dequeue
Метод Dequeue класса
PriorityQueue<TElement, TPriority>
удаляет элемент с минимальным приоритетом
по умолчанию и возвращает только TElement,
без пары с приоритетом. Пустая очередь
даёт InvalidOperationException.
Синтаксис
TElement item = pq.Dequeue();
Пример
Давайте снимем элемент с приоритетом 1:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
PriorityQueue<string, int> pq =
new PriorityQueue<string, int>();
pq.Enqueue("c", 3);
pq.Enqueue("a", 1);
pq.Enqueue("b", 2);
Console.WriteLine(pq.Dequeue());
}
}
Результат выполнения кода:
"a"
Пример
Давайте опустошим очередь через Dequeue:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
PriorityQueue<int, int> pq = new PriorityQueue<int, int>();
pq.Enqueue(1, 2);
pq.Enqueue(2, 1);
pq.Enqueue(3, 3);
Console.WriteLine(pq.Dequeue());
Console.WriteLine(pq.Dequeue());
Console.WriteLine(pq.Dequeue());
}
}
Результат выполнения кода:
2
1
3
Пример
Давайте проверим Count после одного Dequeue:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
PriorityQueue<string, int> pq =
new PriorityQueue<string, int>();
pq.Enqueue("a", 1);
pq.Enqueue("b", 2);
pq.Dequeue();
Console.WriteLine(pq.Count);
}
}
Результат выполнения кода:
1
Смотрите также
-
метод
Enqueue,
который ставит элемент с приоритетом -
метод
Peek,
который смотрит важный элемент без снятия -
метод
TryDequeue,
который безопасен для пустой очереди -
метод
Dequeue,
который снимает голову FIFO-очереди