![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
文章平均质量分 66
Xaiver_97
学生狗,小白一枚
展开
-
常见的十种排序算法C++实现(附时空复杂度,稳定性分析)
每一轮排序使得当前无序的部分的最大值冒到当前无序数组的末尾,下一轮中无序部分的长度等于上一轮减一,原数组的末端不断的变成有序的部分。时间复杂度最坏和平均情况是O(),最好的情况是已经有序所以是O(n),空间复杂度O(1),且因为两个相同的元素是不会交换位置的,因此是一种稳定的排序。原创 2022-09-07 17:54:56 · 3789 阅读 · 0 评论 -
快速排序quicksort算法详细图解附代码实现(C++)
快速排序的思想我就不讲了,下面直接上流程图下面是快速排序的函数声明,可以看到这里的代码思路是接受两个迭代器来完成的,lp迭代器指向的是数组的第一个元素,rp迭代器指向的是数组最后一个元素(注意是vector.end()-1,而非vector.end())void quicksort(vector<int>::iterator lp, vector<int>::iterator rp)使用数组的第一个元素作为pivot(基准数)进行快排void quicksort(vect原创 2022-05-25 15:48:51 · 1179 阅读 · 0 评论