我需要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
发布于 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
https://stackoverflow.com/questions/47562715
复制相似问题