手写的快速排序和类库排序差距有多大
首先手动实现一个快速排序:
首先说下快速排序的原理:以{5,4,2,6,5,8,9}数组为例,我们在数组中选择一个基准值,这个基准值可以任意选,例如我们选择第一个数5为基准值,我们所要做的是经过一轮排序后所有比基准值大的数都在基准值右边,所有比基准值小的数都在基准值左边。接着分别对左边和右边进行同样的排序操作,直到排序完成。
那么如何实现一轮排序呢?首先定义一个变量key存储基准值。然后我们定义两个指针i和j分别指向数组的头和尾,从尾部开始寻找,只要尾部的数比基准值大,就执行j--,这样就尾指针就停在了
原创
2021-08-20 17:24:36 ·
153 阅读 ·
0 评论