快速排序的详细过程
1个回答
展开全部
快速排序的详细过程如下:
快速排序是指寻找一个参考数值,将小于参考数值的数放在数组的左边,将大于参考数值的数放在数组的右边。具体的实现方法:
1、随机选取数组中的一个index,其数值作为参考数值。将参考数值保存,并与数组的第一个位置的数值进行交换;从数组的左边和右边分别开始判断。
2、当右边的数值满足大于参考数值后退一位;当右边的数值不满足大于参考数值,将当前在数值放入左边当前指向的位置,左边前进一位;紧接着判断左边的数值满足小于参考数值往后进一位,左边的数值不满足小于参考数值,将当前数值放入右边当前指向位置,右边前进一位。
3、直到左右指向的位置重合,结束上述判断,将参考数值放入重合点,返回 重合点的index。
4、以重合点出为分界线,分为两个子数组。子数组重复进行上述判断。
5、直到传入函数的数组大小为1,退出递归调用。
快速排序是指通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询