排序演算法測試程式入口

黄舟
發布: 2017-02-09 16:25:37
原創
1359 人瀏覽過

排序演算法測試程式入口

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Diagnostics; namespace Sort { class Program { static void Main(string[] args) { //Test(5); EfficiencyTest(100000,10,"BubbleSorter"); } //<生成随机数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 Test(int n) { int[] de = GenerateRandomNumber(n).ToArray(); Console.WriteLine("排序前:"); foreach (int dee in de) { Console.WriteLine(dee); } //int[] d = MergeSorter.Sort(de); //int[] d=HeapSorter.Sort(de); //int[] d = ShellSorter.Sort(de); //int[] d = InsertSorter.Sort(de); //int[] d = SelectSorter.Sort(de); //int[] d = CockTailSorter.Sort(de); int[] d = BubbleSorter.Sort(de); Console.WriteLine("排序后:"); foreach (int dee in d) { Console.WriteLine(dee); } //Console.ReadKey(); } //测试各个排序算法效率 //调用Name函数排序i个数j次 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; Console.WriteLine(Cname + "排序" + i + "个数" + j + "次所用平均时间为:" + span + " 毫秒"); Console.ReadKey(); } } }
登入後複製

以上就是 排序演算法測試程式入口的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!