【发布时间】:2010-10-30 04:01:39
【问题描述】:
我正在尝试对一对 int 数组进行排序 (int[] a; int[] b;)
如果我使用 Array.Sort(a,b) 则性能非常好。
但是,我更喜欢使用 List 并将 int 对加载到结构中。 我可以使用带有重载的 Array.Sort() 使其工作,该重载为结构提供了一个简单的比较器,但它比 Array.Sort(a,b) 慢 4 倍
这正常吗?
【问题讨论】:
-
(注意为 IComparable
添加指标的已编辑答案) -
我想 List.Sort 和 Array.Sort 都使用了快速排序,这意味着性能差异的原因必须是访问元素的方式。
-
是的。两者都使用快速排序。 List
.Sort 比常规数组慢一点,但与排序值对的区别没有什么不同。
标签: arrays list sorting icomparer