排序算法大数据量测试代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Diagnostics;
using System.IO;
namespace Sort
{
class Program
{
static string ErrMsg = string.Empty;
static void Main(string[] args)
{
string[] str = { "MergeSorter", "HeapSorter", "ShellSorter", "InsertSorter", "SelectSorter", "CockTailSorter", "BubbleSorter", "QuickSorter" };
foreach(string name in str)
{
int number =20000;
for (int i = 0; i < 5;i++ )
{
number = number + 20000;
EfficiencyTest(number, 1,name);
}
}
}
//<生成随机数GenerateRandomNumber>
public static List GenerateRandomNumber(int Length)
{
List newRandom = new List();
Random rd = new Random();
for (int i = 0; i < Length; i++)
{
newRandom.Add(rd.Next());
}
return newRandom;
}
//测试各个排序算法效率
private static void EfficiencyTest(int i, int j, string Name)
{
double AverageTime = 0; ;
string Cname = null;
for (int n = 0; n < j; n++)
{
int[] de = GenerateRandomNumber(i).ToArray();
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
DateTime dateStart = DateTime.Now;
switch (Name)
{
case "MergeSorter":
MergeSorter.Sort(de);
Cname = "MergeSorter";
break;
case "HeapSorter":
HeapSorter.Sort(de);
Cname = "HeapSorter";
break;
case "ShellSorter":
ShellSorter.Sort(de);
Cname = "ShellSorter";
break;
case "InsertSorter":
InsertSorter.Sort(de);
Cname = "InsertSorter";
break;
case "SelectSorter":
SelectSorter.Sort(de);
Cname = "SelectSorter";
break;
case "CockTailSorter":
CockTailSorter.Sort(de);
Cname = "CockTailSorter";
break;
case "BubbleSorter":
BubbleSorter.Sort(de);
Cname = "BubbleSorter";
break;
case "QuickSorter":
QuickSorter.Sort(de);
Cname = "QuickSorter";
break;
}
stopwatch.Stop();
AverageTime = (DateTime.Now - dateStart).TotalMilliseconds;
}
Double span = AverageTime / j;
string str = Cname + "排序" + i + "个数" + j + "次所用平均时间为:" + span + " 毫秒";
WriteFile(str,"", out ErrMsg);
}
#region 记录文本文件日志方法
///
/// 记录文本文件日志方法
///
/// 需要记录的文件内容
/// 保存的文件名
/// 错误信息
///
private static bool WriteFile(string FileContent, string TxtFileName, out string ErrMsg)
{
ErrMsg = string.Empty;
StreamWriter writer = null;
string sCurDate = System.DateTime.Now.ToString("yyyy-MM-dd");
string sFile = "D:\\Log\\Log001.txt";
try
{
if (File.Exists(sFile))
writer = new StreamWriter(sFile, true, System.Text.Encoding.GetEncoding("UTF-8"));
else
writer = new StreamWriter(sFile, false, System.Text.Encoding.GetEncoding("UTF-8"));
string sDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss");
writer.WriteLine("<" + sDateTime + "> " + " " + FileContent);
}
catch (IOException e)
{
ErrMsg = e.Message;
return false;
}
finally
{
if (writer != null)
writer.Close();
}
return true;
}
#endregion
}
} 以上就是 排序算法大数据量测试代码的内容,更多相关内容请关注PHP中文网(www.php.cn)!
明星艺人网站源码(模特礼仪类网站模板)采用最新HTML5+CSS3写法,织梦UTF编码内核,程序兼容性强,前台纯静态HTML、利于SEO排名,完美兼容IE8+、Firefox、Chrome、360浏览器等主流浏览器; 1、该代码干净整洁; 2、效果相当的炫酷,相当简洁大气高端,模板简单,全部已数据调用,只需后台修改栏目名称即可 3、适用于明星艺人、模特礼仪; 4、网站手工DIV+css,代码









