Возможный дубликат:
приоритетная очередь в .Net
Этот вопрос аналогичен, но я хочу точно знать:
Есть ли класс / структура / ... в .Net для очереди приоритетов? Как и в STL, где для этого есть priority_queue
. Он принимает функцию сравнения для поддержки настраиваемых сортировок.
Лучшее, что я нашел в .Net, - это SortedList ‹Key, Value›, который сортирует значения по ключу. Таким образом, одним из решений является реализация настраиваемого интерфейса Сравнить для класса Key. Но я не могу разделить свои элементы на пары ключ / значение. У меня есть атомарные элементы, которые должны быть поставлены в очередь в соответствии с их значениями с помощью настраиваемой функции.
Итак, есть ли в .Net какой-либо класс коллекции, который принимает функцию сравнения для сортировки элементов it?
Есть ли способ получить класс .Net (возможно, HashSet), поддерживающий эту функцию?
Примечание:
- Я знаю, что многие сторонние разработчики реализовали для этого действительно хорошие классы. Может быть, хорошим примером является PowerCollections. Но я хочу быстрое и простое решение с использованием существующих классов в .Net
- Я использую .Net Framework 3.5