首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuickSort运动

QuickSort运动
EN

Stack Overflow用户
提问于 2017-11-29 22:12:29
回答 1查看 67关注 0票数 2

我需要quickSort这个: 90 8 7 56 123 123 235 1 653,是枢轴90。我见过很多人这样做,我觉得每个人都以不同的方式去做。我知道如何做,如果它是在最后一个位置,如下:

http://www.geeksforgeeks.org/quick-sort/

但如果是在开始的时候会是什么样子呢?如果它在中间的位置呢?

注意:没有代码,只有命名者。

谢谢!

注:这是我所拥有的,但我认为这是错误的,是吗?

653 8 7 56 123 235 9 1 90

653 8 7 56 123 235 9 90 (arrJ <=枢轴?)不,所以J =0并检查下一个索引)

8 653 7 56 123 235 9 90 (全部门办法)

8 7 653 56 123 235 9 1 90

8 7 56 653 123 235 9 1 90

8 7 56 9 123 235 653 1 90

8 7 56 9 1 235 653 123 90

8 7 56 9 1 90 653 123 235

8 7 56 9 1

EN

回答 1

Stack Overflow用户

发布于 2017-11-29 22:41:23

初始数据:90 8 7 56 123 235 91 653

我们选择支点在90,左标记到9,右边标记到653。

90 8 7 56 123 235 91 653 P L R

我们增加左标记的索引,直到达到大于90的值。左标记设置为123。90 8 7 56 123 235 91 653 P L R

我们减少正确标记的索引,直到达到<90。正确的标记设置为56。

90 8 7 56 123 235 91 653 P R L

右标记和左标记交叉,因此我们找到了一个分裂点。我们用9万换56个。56 8 7 90 123 235 91 653

现在,我们的枢轴90位于正确的位置,并递归地将快速排序应用于每个分区,每个分区的停止情况为一个大小为一个的分区。

56 8 7 90 123 235 91 653 P L R F P L R

(“F”表示该值固定在该索引位置)

这是快速排序的一个很好的资源:http://interactivepython.org/runestone/static/pythonds/SortSearch/TheQuickSort.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47562715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档