【算法基础01】快速排序和归并排序
定义i j为 int 指针,i j分别指向q[ l ], q[ r ](涉及到while的边界问题,实操时需指向l-1和r+1), i j与q中元素比较,i需满足小于等于x,j需满足大于等于x,满足则往中间进一,不满足立即停止,两指针都停止,则交换q[ i ],q[ j ],然后继续while循环,直到i j相遇。与快速排序不同,归并排序先递归处理两边,i j 分别指向两个区间的起点,之后借助辅助数组,参照快速排序方法一的思路,对当前函数中划分好的区间进行排序,递归到区间只剩下一个函数结束,排序完成。
原创
2023-04-12 22:33:24 ·
71 阅读 ·
0 评论