C#代码如下:
     long T1 = DateTime.Now.Ticks;
            int[] Arr1 = { 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3 };
            int[] Arr2 = { 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, };
            //定义归并后的数组
            int[] Arr3 = new int[Arr1.Length + Arr2.Length];
            //Arr1和Arr2 复制到Arr3
            Arr1.CopyTo(Arr3, 0);
            Arr2.CopyTo(Arr3, Arr3.Length - Arr2.Length);
            Array.Sort(Arr3);
            //删除方便转化为List
            List<int> L = Arr3.ToList();
            int k = L[0];
            for (int i = 1; i < L.Count; i++)
            {
                if (k == L[i])
                {                    L.RemoveAt(i);
                    i--;
                }
                else
                {
                    k = L[i];
                }
            }
            int[] Arr4 = L.ToArray();
            long T2 = DateTime.Now.Ticks;
            foreach (int t in Arr4)
            {
                Console.WriteLine(t);
            }
            //测试性能标准
            Console.WriteLine(T2 - T1);
            Console.ReadLine();这是一个将两个数组合并之后排序然后去掉重复项的操作~!
测试出来性能标准得出Ticks 总是0,难道这个数组操作很不错????!希望牛人们不吝赐教,任何看法都好~~ 谢谢谢谢谢谢!!!

解决方案 »

  1.   

    数据太少,循环个10w次再取ticks就知道了,
    没多看,用Array.Sort就快不了了
      

  2.   

    数据量太少。Array.Sort() 已经很快了,而不是2楼说的快不了。
      

  3.   

    不喜欢 用list 吗? 那个会更好。 
    总的来说 你的还不错。 
      

  4.   

    可能没表达清楚
    不是说Array.Sort()的快速排序不够快
    而是说楼主先排序后删除的方法快不了了
      

  5.   

    你直接都用List得了呗,转来转去的!
      

  6.   


                int[] Arr1 = { 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3 };
                int[] Arr2 = { 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, };            List<int> list = new List<int>();
                list.AddRange(Arr1);
                list.AddRange(Arr2);
                list.Sort();
                for (Int32 i = 1; i < list.Count; i++)
                {
                    if (list[i] == list[i - 1])
                    {
                        list.RemoveAt(i);
                        i--;
                    }
                }
                foreach (int item in list)
                    Console.WriteLine(item);
      

  7.   

    重复数据使用Distinct
    排序Sort
      

  8.   

    计算程序的运行时间用Stopwatch,比DateTime的精度要高。另一种算法是LastIndexof当前项,看索引是否等于当前,不等于则删除当前项。
    测试了集合项在10万个的情况下,前者始终占优。当重复项增多时,差距缩小。 Stopwatch watch = new Stopwatch();
                watch.Start();
                
                watch.Stop();
                Console.WriteLine("elapsed:" + watch.ElapsedTicks+"\r\nArrayCount:"+list.Count);
      

  9.   

    又测试了一种方法,比排序快多了。以空间换时间的做法:  List<int> list = new List<int>();
                
                Stopwatch watch = new Stopwatch();
                watch.Start();
                for (int i = 0; i < list.Count; )
                {
                    if (!list.Contains(num[i]))
                    {
                        list.Add(num[i]);
                    }
                }
                watch.Stop();
                Console.WriteLine("elapsed:" + watch.ElapsedTicks + "\r\nArrayCount:" + list.Count);
      

  10.   

    了解,只是说先排序的方法慢多了
    用dictionary,速度要快10倍以上            Stopwatch sp = new Stopwatch();            Dictionary<int, int> dic = new Dictionary<int, int>();
                int k = 0;
                sp.Start();
                while (k++ < 1000 * 10)
                {
                    int[] Arr1 = { 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3 };
                    int[] Arr2 = { 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, };                foreach (int i in Arr1)
                    {
                        if (!dic.ContainsKey(i))
                            dic.Add(i, i);
                    }
                    foreach (int i in Arr2)
                    {
                        if (!dic.ContainsKey(i))
                            dic.Add(i, i);
                    }
                }
                sp.Stop();
                Console.WriteLine(sp.ElapsedMilliseconds);            foreach (int item in dic.Keys)
                    Console.WriteLine(item)执行1万次,150ms左右
      

  11.   

    //使用扩展方法吧
                int[] Arr1 = { 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3 };
                int[] Arr2 = { 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, };
                var Arr = Arr1.Union(arr2).ToList().Sort().Remove(0);
                foreach (int t in Arr)
                {
                    Console.WriteLine(t);
                }
      

  12.   

    //刚才的代码没有测试过,//这次是已经测试的代码
    //都是在2-3毫秒之间
              Stopwatch sp = new Stopwatch();
                sp.Start();
                int[] Arr1 = { 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3 };
                int[] Arr2 = { 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, };
                var Arr = Arr1.Concat(Arr2).ToList();
                Arr.Sort();
                Arr.Remove(0);               
                sp.Stop();
                foreach (int t in Arr)
                {
                    Console.WriteLine(t);
                }
           Console.WriteLine("时间:"+sp.ElapsedMilliseconds.ToString());//都是在2-3毫秒之间
      

  13.   

    //上面的代码没有完全实现你的需要,这次可以了,还是在2毫秒内
                Stopwatch sp = new Stopwatch();
                sp.Start();
                int[] Arr1 = { 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3, 1, 2, 3, 3, 5, 1, 2, 8, 0, 0, 2, 2, 1, 5, 6, 7, 4, 5, 6, 3, 5, 6, 7, 8, 0, 3, 2, 2, 4, 3, 1, 2, 1, 1, 3 };
                int[] Arr2 = { 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 3, 2, 4, 6, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 3, 1, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, 2, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 2, 1, 1, 1, 2, 0, 5, 6, 7, 8, 4, 1, };
                var Arr = Arr1.Concat(Arr2).ToList();
                Arr.Sort();
                int n = Arr[0];
                Arr.RemoveAll(p => p == n);               
                sp.Stop();
                foreach (int t in Arr)
                {
                    Console.WriteLine(t);
                }
           Console.WriteLine("时间:"+sp.ElapsedMilliseconds.ToString());//都是在2-3毫秒之间
      

  14.   

    用这个没有去除重复项~~ 还有Arr仍然要转会int[]数组,这里没有考虑到开销~