C++ 使用C+;中的递归合并排序,应用二进制搜索组合两个已排序的子数组+;

C++ 使用C+;中的递归合并排序,应用二进制搜索组合两个已排序的子数组+;,c++,algorithm,C++,Algorithm,应用二进制搜索以使用递归合并排序组合两个已排序的子数组: void combine(int a[],int low,int mid,int high) { int temp[50],i,j,k; i=low; j=mid+1; k=0; int m=(low+mid)/2; while(i<=mid&&j<=high) { if(a[m]<a[j]) { for(i=low;i<=m;i++) {

应用二进制搜索以使用递归合并排序组合两个已排序的子数组:

void combine(int a[],int low,int mid,int high)
{
int temp[50],i,j,k;
i=low;
j=mid+1;
k=0;
int m=(low+mid)/2;
while(i<=mid&&j<=high)
{
    if(a[m]<a[j])
    {
        for(i=low;i<=m;i++)
        {
            temp[k]=a[i];
            k++;
        }
        low=mid+1;
        j++;
        m=(low+mid)/2;
    }
    else
    {
            high=m-1;
            m=(low+mid)/2;
}
void联合收割机(整数a[],整数低,整数中,整数高)
{
内部温度[50],i,j,k;
i=低;
j=mid+1;
k=0;
int m=(低+中)/2;

while(你的问题是什么?我正在尝试对两个排序的数组应用二进制搜索(使用合并排序排序)。必须应用二进制搜索,以便将其合并到排序数组中。与一般合并排序一样,我们使用线性搜索来合并元素。我必须使用二进制搜索而不是线性搜索。当您进行二进制搜索时,您搜索的是什么?对于合并两个排序数组,一个不需要进行二进制搜索。In二进制搜索,我将在数组中搜索[mid+1]到[high]元素的正确位置a[low]到[mid]不需要二进制搜索来合并两个已排序的数组。为什么要应用它?