【发布时间】:2011-08-31 23:42:29
【问题描述】:
使用快速排序对以下数组 a 进行排序,
[6, 11, 4, 9, 8, 2, 5, 8, 13, 7]
应选择枢轴作为第一个和最后一个元素的算术平均值,即(a[0] + a[size - 1]) / 2 (rounded down)。
显示所有重要步骤,例如分区和对算法的递归调用。
我了解如何使用快速排序对数组进行排序,但是我不确定如何计算枢轴。
枢轴是由6 + 7 = 13 然后13 / 2 = 6.5(向下舍入为6)计算的,所以枢轴是2(即第6个元素)?
我知道小于pivot的元素出现在左侧,大于pivot的元素出现在右侧,分区重复这个对子数组排序的步骤。
任何帮助将不胜感激。
【问题讨论】:
标签: arrays sorting pivot quicksort