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




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




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




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




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




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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。