C++ 二进制合并排序&;自然合并排序

C++ 二进制合并排序&;自然合并排序,c++,arrays,algorithm,sorting,mergesort,C++,Arrays,Algorithm,Sorting,Mergesort,我知道家庭作业不是这里最受欢迎的问题,但我完全不知所措。我正在做一项作业,要求我们制作多种排序算法。然而,其中一个却让我发疯。我在网上任何地方都找不到这方面的例子,而且他在课堂上也没有完全复习。我们必须进行如下的合并排序: void mergeSort(int * a, int s, bool n = false) 其中a是数组,s是所述数组的大小,n对于二进制合并排序为false,对于自然合并排序为true。问题是,我找不到自然合并排序和二进制合并排序是什么。我只是找到了一种。所有这些都要求

我知道家庭作业不是这里最受欢迎的问题,但我完全不知所措。我正在做一项作业,要求我们制作多种排序算法。然而,其中一个却让我发疯。我在网上任何地方都找不到这方面的例子,而且他在课堂上也没有完全复习。我们必须进行如下的合并排序:

void mergeSort(int * a, int s, bool n = false)
其中a是数组,s是所述数组的大小,n对于二进制合并排序为false,对于自然合并排序为true。问题是,我找不到自然合并排序和二进制合并排序是什么。我只是找到了一种。所有这些都要求更多的变量


我只是问是否有人知道我在哪里可以找到这两种不同类型的合并排序的好解释。

我不是这方面的专家,但维基百科页面似乎是一个很好的起点

它包含一个关于自然合并排序的部分,并附有一个示例

关于二进制合并排序:

名为二进制合并排序的变量使用二进制插入排序进行排序 由32个元素组成的组,然后使用合并排序进行最终排序。信息技术 将小数据集上的插入排序速度与 大数据集上的合并排序算法

插入排序可在此处阅读:

其中包含对二进制插入排序的选择

关于变量。“自底向上合并排序”(natural merge sort是其变体)的wikipedia示例具有以下特征:

void BottomUpSort(A[], B[], n)

其中A是要排序的数组,n是其长度。B是一个工作数组,如果a正确读取算法,它的长度也需要为n。无论如何,它可以在算法开始时创建,最后删除。

它们都在维基百科页面上的合并排序中提到。通过网络搜索“二进制自然合并排序”找到的。你知道我可以在哪里找到示例吗?我看了维基,但很不幸,它对我没有多大帮助。这是家庭作业。您应该从抽象描述中找出代码,而不是复制示例。