Я должен написать симулятор на основе событий в C #.Мне нужен отсортированный контейнер для планировщика, который имеет следующие возможности:
- Ключ - пары значений хранятся отсортированными по ключу (время, пары делегатов)
- Эффективные операции вставки и удаленияключ (самые маленькие элементы удаляются, вставки произвольные)
- Наименьший элемент (пара значений ключа) может быть запрошен.
На самом деле мне нужно очень простое двоичное дерево илиотсортированная очередь или что-то подобное.Но варианты, которые у меня есть в .NET - SortedList и SortedDictionary - неудовлетворительны.У первой проблемы с эффективностью операций вставки и удаления, у второй проблемы с запросом самых маленьких элементов.
Должен ли я начать реализацию своего собственного контейнера или я что-то пропустил?Это настолько невероятно, что нет встроенного контейнера, который бы соответствовал моим потребностям.
Спасибо!
(обновление: я ищу решение под .NET 2.0)