使用快速排序算法对以下数组 a 进行排序:
[6, 11, 4, 9, 8, 2, 5, 8, 13, 7]
应该选择第一个元素和最后一个元素的算术平均值作为枢轴,即 (a[0] + a[size - 1]) / 2(向下取整)
。
展示所有重要步骤,如分区和对算法的递归调用。
我知道如何使用快速排序对数组进行排序,但不确定如何计算枢轴。
枢轴是通过 6 + 7 = 13
然后 13 / 2 = 6.5
(向下取整为 6
),所以枢轴是 2
(即第6个元素)吗?
我知道小于枢轴的元素出现在左侧,大于枢轴的元素出现在右侧,分区会重复这个子数组排序的步骤。
任何帮助都将不胜感激。