Своё правило приоритета в 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" с разной срочностью и выведите их в порядке выполнения.