你的位置:首页 > 软件开发 > ASP.net > DotNet常用排序算法总结

DotNet常用排序算法总结

发布时间:2016-10-25 11:01:16
数据结构和算法对一个程序来说是至关重要的,现在介绍一下几种算法,在项目中较为常用的算法有:冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等7中算法。 现在介绍选择排序算法,希尔排序算法,快速排序算法。 (1).选择排序算法:通过n- ...

   数据结构和算法对一个程序来说是至关重要的,现在介绍一下几种算法,在项目中较为常用的算法有:冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等7中算法。

  现在介绍选择排序算法,希尔排序算法,快速排序算法。

    (1).选择排序算法:通过n-i次关键字间的比较,从n-i+1个记录中选择出关键字最小的记录,并和第i(1大于等于i小于等于n)个记录交换。

    (2).希尔排序:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量 DotNet常用排序算法总结 =1(DotNet常用排序算法总结 <DotNet常用排序算法总结 …<d2<d1),即所有记录放在同一组中进行直接插入排序为止。

    (3).快速排序算法:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。

   以上是对算法定义的简单说明,接下来看看算法的具体实现:

     1.排序算法类型的接口:

  /// <summary>  /// 排序算法类型的接口  /// </summary>  internal interface ISortAlgorithm  {    /// <summary>    /// 按指定的方向对指定的列表进行排序。    /// </summary>    /// <typeparam name="T">要排序的元素的类型</typeparam>    /// <param name="toSort">要排序的列表</param>    /// <param name="direction">排序方向</param>    /// <param name="startIndex">开始索引</param>    /// <param name="endIndex">结束开始索引</param>    /// <param name="compareFunc">比较功能。</param>    void Sort<T>(IList<T> toSort, SortDirection direction, int startIndex, int endIndex, Comparison<T> compareFunc);  }

原标题:DotNet常用排序算法总结

关键词:dotnet

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录