PowerCollections имеет тип OrderedBag
, который может подойти для того, что вам нужно.Из документов
Вставка , удаление и поиск элемента выполняются в log (N) + M время , где N - эточисло ключей в дереве, а M - текущее количество копий обрабатываемого элемента.
Однако для встроенных типов .NET 3.5 используйте List.BinarySearch
и вставляйте каждый элемент вправильное место - хорошее начало, но оно использует массив изнутри, поэтому ваша производительность будет падать из-за того, что вы копируете при вставке.
Если вы можете сгруппировать вставки в пакеты, которые улучшат ситуацию, но если вы не можете перейти только к одной операции сортировки после всей вставки, вам, вероятно, лучше использовать OrderedBag
из PowerCollections
, если можете.