排序算法测试程序入口
来源:互联网 发布:阅读破解版软件 编辑:程序博客网 时间:2024/06/05 11:22
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<int> GenerateRandomNumber(int Length) { List<int> newRandom = new List<int>(); 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(); } }}
作者:jiankunking 出处:http://blog.csdn.net/jiankunking
0 0
- 排序算法测试程序入口
- 测试排序算法耗时
- 排序算法-交换排序算法效率测试
- 排序算法演示程序
- 快速排序算法程序
- 排序算法比较程序
- 一些排序算法程序
- 排序算法比较程序
- c++ 排序算法程序
- JAVA排序算法测试类
- 对快速排序算法测试
- 常用排序算法代码测试
- 排序算法时间对比测试
- 排序算法时间效率测试
- 常见排序算法性能测试
- 排序算法 之 效率测试
- 排序算法效率简单测试
- 测试选择排序算法性能
- 归并排序
- Dictionary对象
- 快速排序
- 选择排序
- 希尔排序
- 排序算法测试程序入口
- Cocoa和Cocoa Touch的区别
- Dijkstra\'s Algorithm
- Android经典项目案例开发实战宝典
- Bellman-Ford Algorithm
- Shortest Path Faster Algorithm
- Floyd-Warshall Algorithm
- C# 数学函数库
- 常用字符串处理函数