首先传进来三个参数,第一个是指针(数组的首地址),第二个是数组第一个成员的位置数,第三个是数组最后一个成员的位置数
定义三个整型变量,第一个保存数组第一个成员的位置数,第二个保存数组最后一个成员的位置数,第三个保存数组第一个成员的值作为对比标杆
因为快排算法中,比标准值小的数据会放在标准值的左边,比标准值大的会放在标准值的右边,会从最两边的位置开始确定,所以i会不断变大,j会不断变小,最后i会等于j,这是标杆值的位置
循环判断i是不是一直比j小
如果i一直比j小,且对应j位置的值大于标准值
j往前移动一下
不满足条件,j位置的数,放到标准值的位置来
再来判断,如果i一直比j小,且对应i位置的值小于标准值
i往后移动一下
不满足条件的话,之前j位置的地方放进去现在i位置的数
执行完大循环之后
标准值左边全是比标准值小的数,标准值右边全是比标准值大的数,i和j也会相等,所放的数也是标准值
如果标准值前面那个数的位置数大于第一个位置的位置数,即比标准值小的那一组数
调用本函数
如果标准值后面那个数的位置数小于最后一个位置的位置数,即比标准值大的那一组数
调用本函数
最后返回0