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

Метод TryDequeue

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

Синтаксис

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

Пример

Давайте снимем элемент через TryDequeue:

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); if (pq.TryDequeue(out string res)) { Console.WriteLine(res); } } }

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

"a"

Пример

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

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

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

False

Пример

Давайте опустошим очередь в цикле через TryDequeue:

using System; using System.Collections.Generic; class Program { static void Main() { PriorityQueue<int, int> pq = new PriorityQueue<int, int>(); pq.Enqueue(10, 3); pq.Enqueue(20, 1); pq.Enqueue(30, 2); while (pq.TryDequeue(out int res)) { Console.WriteLine(res); } } }

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

20 30 10

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

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