您的位置:首页 > 编程语言 > C#

C# 合并数组、排序、删除重复项最优方案

2011-03-15 10:22 417 查看
上一篇的解决办法显然不是最优的,先在找到了一种最优的解决办法,利用Directory进行合并数组,去除重复项。

代码如下:

效果如下:



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DouHaoCount
{
class Program
{
static void Main(string[] args)
{
long T1 = DateTime.Now.Ticks;
Dictionary<int, int> dic = new Dictionary<int, int>();

int[] Arr1 = {58975个0-9的随机数};

int[]Arr2={103991个0-9的随机数};

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);
}

int[] Arr = new int[dic.Count];
int k = -1;
foreach (int item in dic.Keys)
{
k++;
Arr[k] = item;

}
Array.Sort(Arr);
long T2 = DateTime.Now.Ticks;
foreach (int t in Arr)
{

Console.WriteLine(t);
}
Console.WriteLine((double)(T2 - T1) / 10000.0 + "毫秒,Arr1元素个数:" + Arr1.Length + ",Arr2个数:" + Arr2.Length);
Console.ReadLine();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: