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

Своё правило приоритета в C#

По умолчанию PriorityQueue извлекает элемент с минимальным приоритетом. В конструктор можно передать IComparer<TPriority> и задать другой порядок.

Метод Comparer<int>.Create принимает такое правило. Вызов b.CompareTo(a) переворачивает обычное сравнение: большее число считается более срочным и выходит раньше.

В консоли "b" - приоритет 3 выше приоритета 1:

using System.Collections.Generic; PriorityQueue<string, int> q = new PriorityQueue<string, int>(Comparer<int>.Create((a, b) => b.CompareTo(a))); q.Enqueue("a", 1); q.Enqueue("b", 3); Console.WriteLine(q.Dequeue());

Задайте правило, при котором большее число означает более срочное задание. Положите "wash", "cook" и "pay" с разной срочностью и выведите их в порядке выполнения.

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