Sorting algorithm large data volume test code

黄舟
Release: 2017-02-09 16:27:12
Original
1549 people have browsed it

排序算法大数据量测试代码

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 } }
Copy after login

以上就是 排序算法大数据量测试代码的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!