常见排序算法学习及C#代码实现
最近在学习排序算法,参考了网上很多现成的算法介绍,就用C#实现了一下。
为了直观地展示排序过程,我也同时实现了各个排序算法的动画演示。
目前已经实现过的算法有:
冒泡排序法
选择排序法
插入排序法
希尔排序法
基数排序法
归并排序法
快速排序法
这些算法就目前粗略地分析从冒泡排序法到快速排序法其性能依次递增。(该比较完全基于直观结果,忽略最优情况和最坏情况以及算法复杂度,仅仅基于随机数列的前提),稍后我会通过测试海量数据生成性能统计图。
我还会陆续加入更多的排序算法代码。
大家可以下载源代码(代码基于.net 2.0),并编译运行。在程序中可以设置排序测试数据长度以及动画速度,以方便观察学习体验.
这是程序UI.
这里还有一些排序动画以供大家预览:
- 快速排序:
- 归并排序
- 基数排序
- 希尔排序 (间距为2.2)