C++ 在c+中扭曲快速排序+;

C++ 在c+中扭曲快速排序+;,c++,sorting,C++,Sorting,对对象数组进行排序时,某些对象可能会交换位置。这在时间和空间上都非常昂贵,因为每次交换都需要复制一个对象 在某些情况下,不需要对整个阵列进行排序。例如:给定一系列马拉松的时间。数组的排序应确保最快的200次正确排序在数组的开头。同样,人们可能会对100个最糟糕时期的顺序感兴趣。这里很重要的一点是,除了顶部和按钮之外的数组不必排序 您应该实现的函数不仅将指向模板类数组的指针和该数组的大小作为参数。它还需要另外两个参数front和end。该函数将更改给定的数组,以使第一个前元素在整个数组中最小,并对

对对象数组进行排序时,某些对象可能会交换位置。这在时间和空间上都非常昂贵,因为每次交换都需要复制一个对象

在某些情况下,不需要对整个阵列进行排序。例如:给定一系列马拉松的时间。数组的排序应确保最快的200次正确排序在数组的开头。同样,人们可能会对100个最糟糕时期的顺序感兴趣。这里很重要的一点是,除了顶部和按钮之外的数组不必排序

您应该实现的函数不仅将指向模板类数组的指针和该数组的大小作为参数。它还需要另外两个参数front和end。该函数将更改给定的数组,以使第一个前元素在整个数组中最小,并对这些前元素进行排序。类似地,最高端元素位于数组的末尾,并且这些端点元素也被排序。任何其他元素都不必进行排序

例如,对于数组[“michael”、“sam”、“chris”、“tom”、“anna”、“nick”、“brian”、“lisa”]和front=2和end=3 调用函数后的数组可能是[“anna”、“brian”、“michael”、“lisa”、“chris”、“nick”、“sam”、“tom”] 注意,重要的是前两个名字是“安娜”和“布赖恩”,数组以“尼克”、“萨姆”、“汤姆”结尾

最后,该函数将获取另外两个int类型的参数,这些参数通过引用传递。当函数完成时,这些将包含函数运行期间的交换次数和方法调用次数

函数声明是 模板无效快速排序(T*数组,整数大小, 整数前端、整数端、整数和调用、整数和交换) 您的函数应该基于快速排序算法。因此,您需要编写一个包含递归调用的加法函数。要计算交换和调用的数量,应使用全局变量


有人能帮我吗?

听起来像是家庭作业。不要将整个对象存储到数组中,只需存储指向对象的指针即可。然后排序只移动指针。它会很快。

不要只是复制和粘贴课本上的文本,告诉我们你不理解的地方。这是作业,太糟糕了。在现实世界中,您只需使用
std::partial_sort
和/或
std::nth_元素
。所有这些之后,您唯一的问题是“有人能帮我吗?”。这不是一个正确的问题。到目前为止,你做了什么?你在哪里卡住了?如果你卡住了,试着发布你的代码,但不要要求为你完成。这是假的开始。谁会对大型对象数组而不是指向大型对象的指针数组进行排序?