[基础算法]排序复习
排序复习
快速排序
找一个哨兵,理论上是找小的放左边,找大的放右边,分成两堆,哨兵就被还原了,然后左右两边递归下去。
实际上实现的方法:
第一种最简单的方法是双指针交换法,将哨兵放到最左(右),然后两个指针分别从开头和结尾遍历,先动尾指针,找到第一个比哨兵小的,再动头指针,找到第一个比哨兵大的,进行交换。
void sort(vector<int>& nums,int left,int right)
{
if(left>=right) return ;
int i=le
原创
2021-08-18 10:51:43 ·
95 阅读 ·
0 评论