Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 一种高效的排序算法,根据某个值将数组中的元素分成两部分_Algorithm_Sorting_Split - Fatal编程技术网

Algorithm 一种高效的排序算法,根据某个值将数组中的元素分成两部分

Algorithm 一种高效的排序算法,根据某个值将数组中的元素分成两部分,algorithm,sorting,split,Algorithm,Sorting,Split,我需要一些关于排序算法/思想的参考资料,这些算法/思想可以使我能够最有效地将数组的元素拆分为两个部分,例如,如果e=1E10-3 然后我希望所有元素都大于数组顶部的元素(它们不需要进一步排序,只需要位于顶部),而那些较小的元素需要位于底部 因此,如果数组中的元素是0.0001、0.0002、0.7、0.3、0.5、0.0005,那么我希望以尽可能快的方式对其进行排序,例如,它以0.7、0.3、0.5、0.0001、0.0005、0.0002结尾,这将非常容易自己编写。创建与要排序的数组大小完全相

我需要一些关于排序算法/思想的参考资料,这些算法/思想可以使我能够最有效地将数组的元素拆分为两个部分,例如,如果e=1E10-3 然后我希望所有元素都大于数组顶部的元素(它们不需要进一步排序,只需要位于顶部),而那些较小的元素需要位于底部


因此,如果数组中的元素是0.0001、0.0002、0.7、0.3、0.5、0.0005,那么我希望以尽可能快的方式对其进行排序,例如,它以0.7、0.3、0.5、0.0001、0.0005、0.0002结尾,这将非常容易自己编写。创建与要排序的数组大小完全相同的数组

通过要排序的数组的每个元素,并根据其高于还是低于枢轴值,将其放入数组的高端或低端

您必须跟踪最后一个高端和低端元素的位置,以免覆盖以前的值

查看类似算法的快速排序


快速排序是不稳定的,虽然这是你特别寻找,所以作出相应的调整。您只需执行快速排序的第一步

我同意下面的Ian Sellar的观点,您在这里描述的是具有给定枢轴值的快速排序算法的一次迭代(即不要递归)。