最近想总结一下常用的几种排序算法,恰好看到一系列总结的很好的博客,感觉博主做的很用心,分享一下。
图解排序算法(一)之3种简单排序(选择,冒泡,直接插入)
图解排序算法(二)之希尔排序
图解排序算法(三)之堆排序
图解排序算法(四)之归并排序
图解排序算法(五)之快速排序
附上我自己的代码实现(C++)
选择排序、冒泡排序、直接插入排序、希尔排序
堆排序
归并排序
快速排序
补充:
- 稳定性的定义:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。