Algorithm 快速排序:为什么要将轴心移动到末端?

Algorithm 快速排序:为什么要将轴心移动到末端?,algorithm,computer-science,quicksort,Algorithm,Computer Science,Quicksort,首先将所选枢轴元素移动到数组末尾的动机是什么? 我唯一能看到的是,当增加较低的索引I时,我们不需要检查I

首先将所选枢轴元素移动到数组末尾的动机是什么? 我唯一能看到的是,当增加较低的索引I时,我们不需要检查I 是这样吗

萨克斯


Andy

轴被移动到数组的末尾,因为在移动其他元素之前,它不知道它将在哪里结束。为了避免在每次比较后不断移动整个数组的元素,将轴放置在末尾,直到对数组的其余部分进行排序(对于快速排序的该步骤),然后将其放置在正确的位置。这意味着数组只需要移动两次(一次在开始,一次在结束),而不是每次比较后。

您所说的“每次比较后不断移动整个数组元素”到底是什么意思,您能举个例子吗?就像这样,如果轴心保持在同一个位置(例如它没有移动到末端),那么当你进行比较时,你需要在什么时候移动?