using System;
/// <summary>
/// 平均时间复杂度从高到低依次是:
///冒泡排序(o(n2)),选择排序(o(n2)),插入排序(o(n2)),堆排序(o(nlogn)),
///
///归并排序(o(nlogn)),快速排序(o(nlogn)), 希尔排序(o(n1.25)),基数排序(o(n))
/// </summary>
public class Program
{
static void Main(string[] args)
{
int[] intNums = { 1, 3, 54, 5, 6, 7, 8, 67, 9 };
string[] arr = { "w", "s", "t", "a", "9", "e", "6" };
// BubbleSort<int>(intNums, (a, b) => { return a < b; });
// SelectSort<int>(intNums, (a, b) => { return a < b; });
// InsertSort<int>(intNums, (a, b) => { return a < b; });
// InsertSortImprovedWithBinarySearch<int>(intNums, (a, b) => { return a > b; });
// QuickSortStrict<int>(intNums, (a, b) => { return a > b; });
ShellSort<int>(intNums, (a, b) => { return a > b; });
Print<int>(intNums);
BubbleSort<string>(arr, (a, b) => a.CompareTo(b) > 0);
Print<string>(arr);
Console.ReadKey();
}
public static void Print<T>(T[] arr)
{
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
Console.WriteLine();
}
private
c#泛型算法
最新推荐文章于 2021-01-07 21:43:01 发布
本文深入探讨了C#编程中的泛型算法,详细解释了如何使用泛型提高代码复用性和效率,同时涵盖了泛型类、接口、委托及在集合操作中的应用。通过实例分析,帮助开发者更好地理解和掌握这一强大的特性。
摘要由CSDN通过智能技术生成