对于快速排序如果把选定的元素挪到正确的位置的过程也是快速排序的核心,在这个过程中我们通常选择数组第一个元素为我们分界的标志点,我们记录这个点为
l ,之后我们逐渐的遍历右边所有没有被访问的元素,在遍历的过程中我们逐渐整理一部分是小于
v这个元素的,一部分是大于v这个元素的,当让我们要有个记录那个是小于
v和大于
v的分界点,这个点为
j ,而当前访问的元素记录为
i




我们如何来决定当前的元素要怎样变化才能维持当前的性质,如果当前的元素
e是比
v还要大的,那么他直接就放在大于
v一部分的后面。




然后就考虑下一元素就好了。




如果当前的元素
e是比
v还要小的。




我们只需要当前橙色部分也就是
j所指的位置的后一个元素和当前做考察的元素
i进行一下交换 。




之后我们进行一下位置维护
++j
++i