目录
qsort函数是基于快速排序思想设计的可以针对任意数据类型的c语言函数。要对qsort进行模拟实现,首先就要理解快速排序。
1. 快速排序
1.1 快速排序理论分析
上一期博客选择排序,冒泡排序,插入排序,快速排序及其优化-优快云博客我们大概讲解了快速排序的思路,现在我们来详细讲解以下快速排序。
让我们来逐帧分析快速排序的思想。
1. 第一步便是找到基准数,开始分区:基准数可以选择第一个,最后一个,也可以是随机的(为了便于理解,以下的图都默认选的是第一个,当然代码是随机的,重要的是先把交换三个数的本质理解到)
2. 分而治之,调整后基准数的左右两边,再进行相同的操作,直到不能再排序(数组长度为1时,就不能再排序了)