DataView排序方法 - 使用哪种排序算法?

时间:2013-04-09 06:39:56

标签: c# .net visual-studio sorting

我使用的是VS2012,.NET Framework 4.5。我需要知道使用哪种排序算法 在DataView.Sort?

我的代码:

var table = new DataTable();
table.Columns.Add("Word");

table.DefaultView.Sort = "Word";//after that row, DefaultDataView is sorted

那么这里使用的排序算法是什么?

1 个答案:

答案 0 :(得分:1)

DataView中的Sort方法实现 Quicksort算法。它选择一个任意中点,将所有值低于中点的值放在左边,将所有值放在右边。然后它递归地应用于左侧和右侧部分。最终它将递归到不能分成较小部分的部分(即,当一个部分由单个数组成员组成时),此时排序已完成。使用big-O表示法,我们可以说这个算法在 O(n log n)时间内执行,这与你对排序算法的预期效率差不多。只要每次排序迭代将索引集分成两个相等的部分,我们就会处理对数2的对数 为了证明这一切,您必须使用测试工具检测System.Data代码并检查运行时性能。

<强>更新

你可以看一下Reflector Utility并关注这篇文章...这里所有解释DataView Sort