快速排序
2021-03-20 12:26
标签:基本 stream 快速 lang 分治 ace str 使用 递归 将数组分成两个部分,一个部分大于某个数,一个部分小于某个数,然后递归,直到所有的数字都排序完成 方法一开辟两个新的数组,一个数组用来存放 在数组的头部和尾部各使用一个指针 快速排序 标签:基本 stream 快速 lang 分治 ace str 使用 递归 原文地址:https://www.cnblogs.com/meakle/p/13926004.html快速排序
快速排序的基本思想
快速排序的基本思路
l >= r
时return
x
值,这个x
值可以是左边界l
,右边界r
,或者是(l + r)/2
,甚至是随机的值(不能超过边界) 的值放在
x
的左边,将 >= x
的值放在x
的右边如何移动数据
开辟新的数组
的值,一个数组用来存放
>= x
的值利用两个指针
如果是,那么指针指向下一个数据(指针方向往右走),如果不是停止移动
>= x
如果是,那么指针指向上一个数据(指针方向往左走),如果不是停止移动左指针 正确的话就直接交换
左指针 >= 右指针
的时候退出循环快排模板
#include