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,难道这个数组操作很不错????!希望牛人们不吝赐教,任何看法都好~~ 谢谢谢谢谢谢!!!
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,难道这个数组操作很不错????!希望牛人们不吝赐教,任何看法都好~~ 谢谢谢谢谢谢!!!
没多看,用Array.Sort就快不了了
总的来说 你的还不错。
不是说Array.Sort()的快速排序不够快
而是说楼主先排序后删除的方法快不了了
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);
排序Sort
测试了集合项在10万个的情况下,前者始终占优。当重复项增多时,差距缩小。 Stopwatch watch = new Stopwatch();
watch.Start();
watch.Stop();
Console.WriteLine("elapsed:" + watch.ElapsedTicks+"\r\nArrayCount:"+list.Count);
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);
用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左右
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);
}
//都是在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毫秒之间
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毫秒之间