Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.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
C++ nthy-元素算法的一个有趣的用例是什么? 我发现了很多关于如何使用C++ STL的NthyCultEngult算法的问题和答案,但到目前为止我没有发现任何有趣的用例。特别是,在什么样的实际用例中,我会使用n_元素,而不仅仅是对整个向量进行排序_C++_Algorithm_Stl - Fatal编程技术网

C++ nthy-元素算法的一个有趣的用例是什么? 我发现了很多关于如何使用C++ STL的NthyCultEngult算法的问题和答案,但到目前为止我没有发现任何有趣的用例。特别是,在什么样的实际用例中,我会使用n_元素,而不仅仅是对整个向量进行排序

C++ nthy-元素算法的一个有趣的用例是什么? 我发现了很多关于如何使用C++ STL的NthyCultEngult算法的问题和答案,但到目前为止我没有发现任何有趣的用例。特别是,在什么样的实际用例中,我会使用n_元素,而不仅仅是对整个向量进行排序,c++,algorithm,stl,C++,Algorithm,Stl,编辑:显然,第n_元素可用于查找数据的中位数或另一个百分位数,但由于它修改了向量,因此效率似乎很低 你想回答中位数是多少?数据集的一部分。不需要对其进行排序,您只需要一个50%大于50%小于50%的条目。一个典型的用例是,当一个人想要避免对整个集合进行排序时,因为集合太大。如果只需要前n个元素,则使用第n个元素对集合进行分区。然后,第一个分区包含前n个元素 例如,你可以更有效地获得25%的百分位数;我们交叉了。我想了想,但似乎很奇怪——找到中间值是一个查询,n_元素改变了向量。我真的需要修改一个

编辑:显然,第n_元素可用于查找数据的中位数或另一个百分位数,但由于它修改了向量,因此效率似乎很低

你想回答中位数是多少?数据集的一部分。不需要对其进行排序,您只需要一个50%大于50%小于50%的条目。

一个典型的用例是,当一个人想要避免对整个集合进行排序时,因为集合太大。如果只需要前n个元素,则使用第n个元素对集合进行分区。然后,第一个分区包含前n个元素

例如,你可以更有效地获得25%的百分位数;我们交叉了。我想了想,但似乎很奇怪——找到中间值是一个查询,n_元素改变了向量。我真的需要修改一个向量,只为了回答一个关于它的查询吗?作为对比,如果我想要向量中的最大元素,我不必对它进行排序-我可以使用不改变向量的max_元素。好的,得到前n是一个合理的用例。我被第n个元素的名字弄糊涂了,像top\n这样的名字会更清晰。谢谢如果你找到了一个大数据集的第20个元素,你可以在分区后对第一页的结果进行简单的排序。如果你想对一个大数据集的前20个元素进行排序,那么需要这样做:partial_sort