合并2组排序值的最快方法是什么?速度(大O)在这里很重要; 不清楚 - 假设这已经完成了数百万次.
假设你不知道值的类型或范围,但有一个高效IComparer<T>和/或IEqualityComparer<T>.
给出以下数字:
var la = new int[] { 1, 2, 4, 5, 9 };
var ra = new int[] { 3, 4, 5, 6, 6, 7, 8 };
Run Code Online (Sandbox Code Playgroud)
我期待1,2,3,4,5,6,7,8,9.以下存根可用于测试代码:
static void Main(string[] args)
{
var la = new int[] { 1, 2, 4, 5, 9 };
var ra = new int[] { 3, 4, 5, 6, 6, 7, 8 };
foreach (var item in UnionSorted(la, ra, Int32Comparer.Default))
{
Console.Write("{0}, ", item);
} …Run Code Online (Sandbox Code Playgroud)