我正在尝试找出有关排序列表的更多详细信息,以便我可以分析它是否会像我在几种特定情况下所需要的那样执行。
有没有人知道它用来对其元素进行排序的具体排序算法?
答案 0 :(得分:6)
SortedList<T,U>
在内部使用数组作为其键,并通过以正确的顺序插入Add
上的项目来执行“排序”。当您使用新项目致电Add
时,会使用Array.BinarySearch
进行Array.Insert
。
这就是为什么它有这些characteristics:
此方法是未排序数据的O(n)操作,其中n为Count。如果在列表末尾添加新元素,则为O(log n)操作。如果插入导致调整大小,则操作为O(n)。