Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
545 of 1492 menu
◀ ▶

Метод TryPeek

Метод TryPeek класса PriorityQueue<TElement, TPriority> при непустой очереди записывает элемент с наилучшим приоритетом в out TElement result и возвращает true. На пустой очереди возвращает false без исключения.

Синтаксис

bool ok = pq.TryPeek(out TElement result);

Пример

Давайте прочитаем важный элемент через TryPeek:

using System; using System.Collections.Generic; class Program { static void Main() { PriorityQueue<string, int> pq = new PriorityQueue<string, int>(); pq.Enqueue("b", 2); pq.Enqueue("a", 1); if (pq.TryPeek(out string res)) { Console.WriteLine(res); } } }

Результат выполнения кода:

"a"

Пример

Давайте вызовем TryPeek на пустой очереди:

using System; using System.Collections.Generic; class Program { static void Main() { PriorityQueue<int, int> pq = new PriorityQueue<int, int>(); Console.WriteLine(pq.TryPeek(out int res)); } }

Результат выполнения кода:

False

Пример

Давайте убедимся, что после TryPeek Count не меняется:

using System; using System.Collections.Generic; class Program { static void Main() { PriorityQueue<string, int> pq = new PriorityQueue<string, int>(); pq.Enqueue("a", 1); pq.TryPeek(out string res); Console.WriteLine(pq.Count); } }

Результат выполнения кода:

1

Смотрите также

  • метод Peek,
    который бросает исключение на пустой очереди
  • метод TryDequeue,
    который снимает элемент при успехе
  • метод TryPeek,
    который смотрит голову обычной очереди
  • метод Enqueue,
    который ставит элемент с приоритетом
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить