Метод Peek
Метод Peek класса
PriorityQueue<TElement, TPriority>
возвращает TElement с минимальным
приоритетом по умолчанию и не меняет очередь.
На пустой коллекции бросается
InvalidOperationException.
Синтаксис
TElement item = pq.Peek();
Пример
Давайте посмотрим элемент с приоритетом 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.Peek());
}
}
Результат выполнения кода:
"a"
Пример
Давайте убедимся, что Peek не уменьшает Count:
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.Peek();
Console.WriteLine(pq.Count);
}
}
Результат выполнения кода:
2
Пример
Давайте дважды вызовем Peek подряд:
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);
Console.WriteLine(pq.Peek());
Console.WriteLine(pq.Peek());
}
}
Результат выполнения кода:
"a"
"a"